@quesmed/types 2.6.241 → 2.6.243
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/dist/cjs/models/OsceMarksheet.d.ts +38 -1
- package/dist/cjs/models/OsceMarksheet.js +13 -1
- package/dist/cjs/models/OsceStation.d.ts +1 -0
- package/dist/cjs/resolvers/fragments/osce.d.ts +4 -0
- package/dist/cjs/resolvers/fragments/osce.js +58 -4
- package/dist/cjs/resolvers/mutation/restricted/osce.d.ts +21 -2
- package/dist/cjs/resolvers/mutation/restricted/osce.js +83 -10
- package/dist/cjs/resolvers/query/restricted/osce.d.ts +0 -1
- package/dist/cjs/resolvers/query/restricted/osce.js +1 -15
- package/dist/cjs/resolvers/subscription/osce.d.ts +15 -1
- package/dist/cjs/resolvers/subscription/osce.js +16 -1
- package/dist/mjs/models/OsceMarksheet.d.ts +38 -1
- package/dist/mjs/models/OsceMarksheet.js +12 -0
- package/dist/mjs/models/OsceStation.d.ts +1 -0
- package/dist/mjs/resolvers/fragments/osce.d.ts +4 -0
- package/dist/mjs/resolvers/fragments/osce.js +57 -3
- package/dist/mjs/resolvers/mutation/restricted/osce.d.ts +21 -2
- package/dist/mjs/resolvers/mutation/restricted/osce.js +82 -10
- package/dist/mjs/resolvers/query/restricted/osce.d.ts +0 -1
- package/dist/mjs/resolvers/query/restricted/osce.js +0 -14
- package/dist/mjs/resolvers/subscription/osce.d.ts +15 -1
- package/dist/mjs/resolvers/subscription/osce.js +15 -0
- package/package.json +1 -1
|
@@ -18,6 +18,8 @@ export interface IOsceMarksheetMark {
|
|
|
18
18
|
id: Id;
|
|
19
19
|
index: number;
|
|
20
20
|
mark: number | null;
|
|
21
|
+
reason?: string;
|
|
22
|
+
suggestion?: string;
|
|
21
23
|
selectedChoice: Nullable<EPaceMarkType>;
|
|
22
24
|
osceMarksheetId: Id;
|
|
23
25
|
osceMarksheet?: IOsceMarksheet;
|
|
@@ -43,7 +45,8 @@ export declare enum EOsceMarksheetAction {
|
|
|
43
45
|
LEFT = 8,
|
|
44
46
|
KICK = 9,
|
|
45
47
|
ROLE_CHANGE = 10,
|
|
46
|
-
STATE_CHANGE = 11
|
|
48
|
+
STATE_CHANGE = 11,
|
|
49
|
+
PHASE_CHANGE = 12
|
|
47
50
|
}
|
|
48
51
|
export declare enum EOsceMarksheetState {
|
|
49
52
|
LOBBY = 0,
|
|
@@ -52,6 +55,35 @@ export declare enum EOsceMarksheetState {
|
|
|
52
55
|
STATION = 3,
|
|
53
56
|
RESULT = 4
|
|
54
57
|
}
|
|
58
|
+
export declare enum EOsceMarksheetMode {
|
|
59
|
+
STANDARD = "STANDARD",
|
|
60
|
+
CHAT = "CHAT",
|
|
61
|
+
VOICE = "VOICE"
|
|
62
|
+
}
|
|
63
|
+
export declare enum EOsceStationPhase {
|
|
64
|
+
PATIENT = "PATIENT",
|
|
65
|
+
EXAMINER = "EXAMINER"
|
|
66
|
+
}
|
|
67
|
+
export interface IOsceMarksheetMessage {
|
|
68
|
+
id: Id;
|
|
69
|
+
type: string;
|
|
70
|
+
content: string;
|
|
71
|
+
createdAt: number | Date;
|
|
72
|
+
phase: EOsceStationPhase;
|
|
73
|
+
}
|
|
74
|
+
export interface IOsceMarksheetHeaderFeedback {
|
|
75
|
+
header: string;
|
|
76
|
+
summary: string;
|
|
77
|
+
strengths: string[];
|
|
78
|
+
improvements: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface IOsceMarksheetSummary {
|
|
81
|
+
commentary: string;
|
|
82
|
+
overallSummary: string;
|
|
83
|
+
strengths: string[];
|
|
84
|
+
improvements: string[];
|
|
85
|
+
headerFeedback: IOsceMarksheetHeaderFeedback[];
|
|
86
|
+
}
|
|
55
87
|
export interface IOsceMarksheet {
|
|
56
88
|
id: Id;
|
|
57
89
|
createdAt: number | Date;
|
|
@@ -88,6 +120,11 @@ export interface IOsceMarksheet {
|
|
|
88
120
|
entitlement: IEntitlement;
|
|
89
121
|
entitlementId: EProductType | EEntitlementType;
|
|
90
122
|
isTimed: boolean;
|
|
123
|
+
phase: EOsceStationPhase;
|
|
124
|
+
mode: EOsceMarksheetMode;
|
|
125
|
+
summary: IOsceMarksheetSummary | null;
|
|
126
|
+
messages: IOsceMarksheetMessage[] | null;
|
|
127
|
+
transcript: string | null;
|
|
91
128
|
}
|
|
92
129
|
export interface IDashboardOsce {
|
|
93
130
|
lastSessionId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTimerPayload = exports.EOsceStage = exports.EOsceTimerState = exports.EOsceMarksheetState = exports.EOsceMarksheetAction = exports.EOsceRoles = void 0;
|
|
3
|
+
exports.createTimerPayload = exports.EOsceStage = exports.EOsceTimerState = exports.EOsceStationPhase = exports.EOsceMarksheetMode = exports.EOsceMarksheetState = exports.EOsceMarksheetAction = exports.EOsceRoles = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
var EOsceRoles;
|
|
6
6
|
(function (EOsceRoles) {
|
|
@@ -24,6 +24,7 @@ var EOsceMarksheetAction;
|
|
|
24
24
|
EOsceMarksheetAction[EOsceMarksheetAction["KICK"] = 9] = "KICK";
|
|
25
25
|
EOsceMarksheetAction[EOsceMarksheetAction["ROLE_CHANGE"] = 10] = "ROLE_CHANGE";
|
|
26
26
|
EOsceMarksheetAction[EOsceMarksheetAction["STATE_CHANGE"] = 11] = "STATE_CHANGE";
|
|
27
|
+
EOsceMarksheetAction[EOsceMarksheetAction["PHASE_CHANGE"] = 12] = "PHASE_CHANGE";
|
|
27
28
|
})(EOsceMarksheetAction = exports.EOsceMarksheetAction || (exports.EOsceMarksheetAction = {}));
|
|
28
29
|
var EOsceMarksheetState;
|
|
29
30
|
(function (EOsceMarksheetState) {
|
|
@@ -33,6 +34,17 @@ var EOsceMarksheetState;
|
|
|
33
34
|
EOsceMarksheetState[EOsceMarksheetState["STATION"] = 3] = "STATION";
|
|
34
35
|
EOsceMarksheetState[EOsceMarksheetState["RESULT"] = 4] = "RESULT";
|
|
35
36
|
})(EOsceMarksheetState = exports.EOsceMarksheetState || (exports.EOsceMarksheetState = {}));
|
|
37
|
+
var EOsceMarksheetMode;
|
|
38
|
+
(function (EOsceMarksheetMode) {
|
|
39
|
+
EOsceMarksheetMode["STANDARD"] = "STANDARD";
|
|
40
|
+
EOsceMarksheetMode["CHAT"] = "CHAT";
|
|
41
|
+
EOsceMarksheetMode["VOICE"] = "VOICE";
|
|
42
|
+
})(EOsceMarksheetMode = exports.EOsceMarksheetMode || (exports.EOsceMarksheetMode = {}));
|
|
43
|
+
var EOsceStationPhase;
|
|
44
|
+
(function (EOsceStationPhase) {
|
|
45
|
+
EOsceStationPhase["PATIENT"] = "PATIENT";
|
|
46
|
+
EOsceStationPhase["EXAMINER"] = "EXAMINER";
|
|
47
|
+
})(EOsceStationPhase = exports.EOsceStationPhase || (exports.EOsceStationPhase = {}));
|
|
36
48
|
var EOsceTimerState;
|
|
37
49
|
(function (EOsceTimerState) {
|
|
38
50
|
EOsceTimerState[EOsceTimerState["START"] = 0] = "START";
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export declare const OSCE_STATION_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
2
2
|
export declare const OSCE_STATION_FIELDS: import("@apollo/client").DocumentNode;
|
|
3
3
|
export declare const OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
4
|
+
export declare const OSCE_MARKSHEET_MESSAGE_FIELDS: import("@apollo/client").DocumentNode;
|
|
5
|
+
export declare const OSCE_MARKSHEET_RESULT_FIELDS: import("@apollo/client").DocumentNode;
|
|
4
6
|
export declare const OSCE_MARKSHEET_FIELDS: import("@apollo/client").DocumentNode;
|
|
5
7
|
export declare const OSCE_MATCHMAKING_ACTION_FIELDS: import("@apollo/client").DocumentNode;
|
|
6
8
|
export declare const STATION_CONCEPT_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
7
9
|
export declare const COMPLETED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
10
|
+
export declare const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
8
11
|
export declare const COMPLETED_OSCE_STATION_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
9
12
|
export declare const UPSERT_STATION_NOTE_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
13
|
+
export declare const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UPSERT_STATION_NOTE_FRAGMENT = exports.COMPLETED_OSCE_STATION_FRAGMENT = exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = exports.STATION_CONCEPT_FRAGMENT = exports.OSCE_MATCHMAKING_ACTION_FIELDS = exports.OSCE_MARKSHEET_FIELDS = exports.OSCE_MARKSHEET_MARK_FIELDS = exports.OSCE_STATION_FIELDS = exports.OSCE_STATION_MARK_FIELDS = void 0;
|
|
3
|
+
exports.AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = exports.UPSERT_STATION_NOTE_FRAGMENT = exports.COMPLETED_OSCE_STATION_FRAGMENT = exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = exports.STATION_CONCEPT_FRAGMENT = exports.OSCE_MATCHMAKING_ACTION_FIELDS = exports.OSCE_MARKSHEET_FIELDS = exports.OSCE_MARKSHEET_RESULT_FIELDS = exports.OSCE_MARKSHEET_MESSAGE_FIELDS = exports.OSCE_MARKSHEET_MARK_FIELDS = exports.OSCE_STATION_FIELDS = exports.OSCE_STATION_MARK_FIELDS = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const picture_1 = require("./picture");
|
|
6
6
|
const video_1 = require("./video");
|
|
@@ -29,6 +29,8 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
|
29
29
|
name
|
|
30
30
|
hiddenName
|
|
31
31
|
status
|
|
32
|
+
aiEnabled
|
|
33
|
+
examinerQuestions
|
|
32
34
|
userNote {
|
|
33
35
|
id
|
|
34
36
|
userId
|
|
@@ -59,6 +61,9 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
|
59
61
|
id
|
|
60
62
|
name
|
|
61
63
|
}
|
|
64
|
+
picture {
|
|
65
|
+
...PictureFields
|
|
66
|
+
}
|
|
62
67
|
candidatePictures {
|
|
63
68
|
...PictureFields
|
|
64
69
|
}
|
|
@@ -94,8 +99,42 @@ exports.OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
|
|
|
94
99
|
}
|
|
95
100
|
}
|
|
96
101
|
`;
|
|
102
|
+
exports.OSCE_MARKSHEET_MESSAGE_FIELDS = (0, client_1.gql) `
|
|
103
|
+
fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
|
|
104
|
+
id
|
|
105
|
+
type
|
|
106
|
+
content
|
|
107
|
+
createdAt
|
|
108
|
+
phase
|
|
109
|
+
}
|
|
110
|
+
`;
|
|
111
|
+
exports.OSCE_MARKSHEET_RESULT_FIELDS = (0, client_1.gql) `
|
|
112
|
+
${exports.OSCE_MARKSHEET_MESSAGE_FIELDS}
|
|
113
|
+
fragment OsceMarksheetResultFields on OsceMarksheet {
|
|
114
|
+
feedback
|
|
115
|
+
summary {
|
|
116
|
+
commentary
|
|
117
|
+
overallSummary
|
|
118
|
+
strengths
|
|
119
|
+
improvements
|
|
120
|
+
headerFeedback {
|
|
121
|
+
header
|
|
122
|
+
summary
|
|
123
|
+
strengths
|
|
124
|
+
improvements
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
transcript
|
|
128
|
+
messages {
|
|
129
|
+
...OsceMarksheetMessageFields
|
|
130
|
+
}
|
|
131
|
+
score
|
|
132
|
+
globalScore
|
|
133
|
+
}
|
|
134
|
+
`;
|
|
97
135
|
exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
98
136
|
${exports.OSCE_MARKSHEET_MARK_FIELDS}
|
|
137
|
+
${exports.OSCE_MARKSHEET_RESULT_FIELDS}
|
|
99
138
|
fragment OsceMarksheetFields on OsceMarksheet {
|
|
100
139
|
id
|
|
101
140
|
createdAt
|
|
@@ -103,10 +142,9 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
|
103
142
|
timeTaken
|
|
104
143
|
osceStationId
|
|
105
144
|
solo
|
|
106
|
-
|
|
107
|
-
score
|
|
108
|
-
feedback
|
|
145
|
+
mode
|
|
109
146
|
agoraId
|
|
147
|
+
phase
|
|
110
148
|
sessionId
|
|
111
149
|
isTimed
|
|
112
150
|
readingTime
|
|
@@ -142,6 +180,7 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
|
142
180
|
}
|
|
143
181
|
state
|
|
144
182
|
completed
|
|
183
|
+
...OsceMarksheetResultFields
|
|
145
184
|
}
|
|
146
185
|
`;
|
|
147
186
|
exports.OSCE_MATCHMAKING_ACTION_FIELDS = (0, client_1.gql) `
|
|
@@ -172,6 +211,14 @@ exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
|
|
|
172
211
|
endedAt
|
|
173
212
|
}
|
|
174
213
|
`;
|
|
214
|
+
exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
|
|
215
|
+
fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
|
|
216
|
+
transcript
|
|
217
|
+
feedback
|
|
218
|
+
score
|
|
219
|
+
globalScore
|
|
220
|
+
}
|
|
221
|
+
`;
|
|
175
222
|
exports.COMPLETED_OSCE_STATION_FRAGMENT = (0, client_1.gql) `
|
|
176
223
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
177
224
|
score
|
|
@@ -191,3 +238,10 @@ exports.UPSERT_STATION_NOTE_FRAGMENT = (0, client_1.gql) `
|
|
|
191
238
|
}
|
|
192
239
|
}
|
|
193
240
|
`;
|
|
241
|
+
exports.AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
|
|
242
|
+
fragment AutoMarkedOsceMarksheetMarkFields on OsceMarksheetMark {
|
|
243
|
+
mark
|
|
244
|
+
reason
|
|
245
|
+
suggestion
|
|
246
|
+
}
|
|
247
|
+
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApolloCache } from '@apollo/client';
|
|
2
|
-
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
2
|
+
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
3
3
|
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
|
|
4
|
-
import { IOsceMatchmakingAction } from '../../subscription/osce';
|
|
4
|
+
import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
|
|
5
5
|
import { RestrictedData, graphqlNormalize } from '../../types';
|
|
6
6
|
export declare const START_OSCE_MATCHMAKING: import("@apollo/client").DocumentNode;
|
|
7
7
|
export interface IStartOsceMatchmakingVar {
|
|
@@ -70,6 +70,7 @@ export interface IPrestartOsceMarksheetVar {
|
|
|
70
70
|
stationTime: number;
|
|
71
71
|
feedbackTime: number;
|
|
72
72
|
isTimed: boolean;
|
|
73
|
+
mode?: EOsceMarksheetMode;
|
|
73
74
|
}
|
|
74
75
|
export type IPrestartOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'prestartOsceMarksheet'>;
|
|
75
76
|
export declare const SAVE_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
@@ -133,6 +134,11 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
|
|
|
133
134
|
entitlement: import("../../../models").IEntitlement;
|
|
134
135
|
entitlementId: EEntitlementType | EProductType;
|
|
135
136
|
isTimed: boolean;
|
|
137
|
+
phase: EOsceStationPhase;
|
|
138
|
+
mode: EOsceMarksheetMode;
|
|
139
|
+
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
140
|
+
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
141
|
+
transcript: string | null;
|
|
136
142
|
__typename: string;
|
|
137
143
|
};
|
|
138
144
|
};
|
|
@@ -142,3 +148,16 @@ export interface ILeaveOsceMarksheetVar {
|
|
|
142
148
|
osceMarksheetId: Id;
|
|
143
149
|
}
|
|
144
150
|
export type ILeaveOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'leaveOsceMarksheet'>;
|
|
151
|
+
export declare const STREAM_OSCE_CHAT_MESSAGE: import("@apollo/client").DocumentNode;
|
|
152
|
+
export interface IStreamOsceChatMessageVar {
|
|
153
|
+
osceMarksheetId: Id;
|
|
154
|
+
message: string;
|
|
155
|
+
phase: EOsceStationPhase;
|
|
156
|
+
}
|
|
157
|
+
export type IStreamOsceChatMessageData = RestrictedData<graphqlNormalize & IOsceChatStreamChunk, 'streamOsceChatMessage'>;
|
|
158
|
+
export declare const AUTO_MARK_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
159
|
+
export interface IAutoMarkOsceMarksheetVar {
|
|
160
|
+
osceMarksheetId: Id;
|
|
161
|
+
}
|
|
162
|
+
export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
|
|
163
|
+
export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
3
|
+
exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
const fragments_1 = require("../../fragments");
|
|
@@ -174,6 +174,7 @@ exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
|
|
|
174
174
|
$stationTime: Int!
|
|
175
175
|
$feedbackTime: Int!
|
|
176
176
|
$isTimed: Boolean
|
|
177
|
+
$mode: OsceMarksheetMode
|
|
177
178
|
) {
|
|
178
179
|
restricted {
|
|
179
180
|
prestartOsceMarksheet(
|
|
@@ -182,6 +183,7 @@ exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
|
|
|
182
183
|
stationTime: $stationTime
|
|
183
184
|
feedbackTime: $feedbackTime
|
|
184
185
|
isTimed: $isTimed
|
|
186
|
+
mode: $mode
|
|
185
187
|
) {
|
|
186
188
|
...OsceMarksheetFields
|
|
187
189
|
osceStation {
|
|
@@ -248,21 +250,35 @@ const updateCacheOnEndOsceMarksheet = (productType) => (cache, result, options)
|
|
|
248
250
|
if (!variables || !endOsceMarksheet) {
|
|
249
251
|
return;
|
|
250
252
|
}
|
|
251
|
-
cache.
|
|
253
|
+
cache.modify({
|
|
252
254
|
id: cache.identify({
|
|
253
255
|
id: endOsceMarksheet.id,
|
|
254
256
|
__typename: 'OsceMarksheet',
|
|
255
257
|
}),
|
|
256
|
-
|
|
257
|
-
completed: true,
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
258
|
+
fields: {
|
|
259
|
+
completed: () => true,
|
|
260
|
+
state: () => endOsceMarksheet.state,
|
|
261
|
+
timeTaken: () => endOsceMarksheet.timeTaken,
|
|
262
|
+
endedAt: () => endOsceMarksheet.endedAt,
|
|
263
|
+
score: () => endOsceMarksheet.score,
|
|
264
|
+
globalScore: () => endOsceMarksheet.globalScore,
|
|
265
|
+
transcript: () => endOsceMarksheet.transcript,
|
|
266
|
+
feedback: () => endOsceMarksheet.feedback,
|
|
263
267
|
},
|
|
264
|
-
fragment: fragments_1.COMPLETED_OSCE_MARKSHEET_FRAGMENT,
|
|
265
268
|
});
|
|
269
|
+
for (const mark of endOsceMarksheet.marks) {
|
|
270
|
+
cache.modify({
|
|
271
|
+
id: cache.identify({
|
|
272
|
+
id: mark.id,
|
|
273
|
+
__typename: 'OsceMarksheetMark',
|
|
274
|
+
}),
|
|
275
|
+
fields: {
|
|
276
|
+
mark: () => mark.mark,
|
|
277
|
+
reason: () => mark.reason,
|
|
278
|
+
suggestion: () => mark.suggestion,
|
|
279
|
+
},
|
|
280
|
+
});
|
|
281
|
+
}
|
|
266
282
|
cache.writeFragment({
|
|
267
283
|
id: cache.identify({
|
|
268
284
|
id: endOsceMarksheet.osceStationId,
|
|
@@ -300,3 +316,60 @@ exports.LEAVE_OSCE_MARKSHEET = (0, client_1.gql) `
|
|
|
300
316
|
}
|
|
301
317
|
}
|
|
302
318
|
`;
|
|
319
|
+
exports.STREAM_OSCE_CHAT_MESSAGE = (0, client_1.gql) `
|
|
320
|
+
mutation StreamOsceChatMessage(
|
|
321
|
+
$osceMarksheetId: Int!
|
|
322
|
+
$message: String!
|
|
323
|
+
$phase: OsceStationPhase!
|
|
324
|
+
) {
|
|
325
|
+
restricted {
|
|
326
|
+
streamOsceChatMessage(
|
|
327
|
+
osceMarksheetId: $osceMarksheetId
|
|
328
|
+
message: $message
|
|
329
|
+
phase: $phase
|
|
330
|
+
)
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
`;
|
|
334
|
+
exports.AUTO_MARK_OSCE_MARKSHEET = (0, client_1.gql) `
|
|
335
|
+
mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
|
|
336
|
+
restricted {
|
|
337
|
+
autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
|
|
338
|
+
...OsceMarksheetFields
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
`;
|
|
343
|
+
const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
|
|
344
|
+
const { autoMarkOsceMarksheet } = result?.data?.restricted || {};
|
|
345
|
+
const { variables } = options || {};
|
|
346
|
+
if (!variables || !autoMarkOsceMarksheet) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
cache.modify({
|
|
350
|
+
id: cache.identify({
|
|
351
|
+
id: autoMarkOsceMarksheet.id,
|
|
352
|
+
__typename: 'OsceMarksheetMark',
|
|
353
|
+
}),
|
|
354
|
+
fields: {
|
|
355
|
+
score: () => autoMarkOsceMarksheet.score,
|
|
356
|
+
globalScore: () => autoMarkOsceMarksheet.globalScore,
|
|
357
|
+
transcript: () => autoMarkOsceMarksheet.transcript,
|
|
358
|
+
feedback: () => autoMarkOsceMarksheet.feedback,
|
|
359
|
+
},
|
|
360
|
+
});
|
|
361
|
+
for (const mark of autoMarkOsceMarksheet.marks) {
|
|
362
|
+
cache.modify({
|
|
363
|
+
id: cache.identify({
|
|
364
|
+
id: mark.id,
|
|
365
|
+
__typename: 'OsceMarksheetMark',
|
|
366
|
+
}),
|
|
367
|
+
fields: {
|
|
368
|
+
mark: () => mark.mark,
|
|
369
|
+
reason: () => mark.reason,
|
|
370
|
+
suggestion: () => mark.suggestion,
|
|
371
|
+
},
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
exports.updateCacheOnAutoMarkOsceMarksheet = updateCacheOnAutoMarkOsceMarksheet;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HEARTBEAT = exports.SEARCH_OSCE_STATIONS = exports.OSCE_TOPICS = exports.OSCE_STATION = exports.OSCE_STATIONS = exports.OSCE_MARKSHEET = exports.OSCE_MARKSHEET_WINDOW = exports.
|
|
3
|
+
exports.HEARTBEAT = exports.SEARCH_OSCE_STATIONS = exports.OSCE_TOPICS = exports.OSCE_STATION = exports.OSCE_STATIONS = exports.OSCE_MARKSHEET = exports.OSCE_MARKSHEET_WINDOW = exports.DASHBOARD_OSCE = exports.OSCE_STATS = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const osce_1 = require("../../fragments/osce");
|
|
6
6
|
const osce_2 = require("./../../fragments/osce");
|
|
@@ -58,20 +58,6 @@ exports.DASHBOARD_OSCE = (0, client_1.gql) `
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
`;
|
|
61
|
-
exports.OSCE_MARKSHEETS = (0, client_1.gql) `
|
|
62
|
-
${osce_2.OSCE_STATION_FIELDS}
|
|
63
|
-
${osce_1.OSCE_MARKSHEET_FIELDS}
|
|
64
|
-
query OsceMarksheets($solo: Boolean, $days: Int) {
|
|
65
|
-
restricted {
|
|
66
|
-
osceMarksheets(solo: $solo, days: $days) {
|
|
67
|
-
...OsceMarksheetFields
|
|
68
|
-
osceStation {
|
|
69
|
-
...OsceStationFields
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
`;
|
|
75
61
|
exports.OSCE_MARKSHEET_WINDOW = (0, client_1.gql) `
|
|
76
62
|
${osce_2.OSCE_STATION_FIELDS}
|
|
77
63
|
${osce_1.OSCE_MARKSHEET_FIELDS}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
|
|
1
|
+
import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
|
|
2
2
|
import { RootData } from '../types';
|
|
3
3
|
export declare const OSCE_ROLE_CHANGE_KEY = "OSCE_ROLE_CHANGE";
|
|
4
4
|
export declare const OSCE_MARKSHEET_ACTION_KEY = "OSCE_MARKSHEET_ACTION";
|
|
@@ -76,3 +76,17 @@ export interface IOsceMarksheetTimerVar {
|
|
|
76
76
|
sessionId: string;
|
|
77
77
|
}
|
|
78
78
|
export type IOsceMarksheetTimerData = RootData<IOsceMarksheetTimer, 'osceMarksheetTimer'>;
|
|
79
|
+
export declare const OSCE_CHAT_STREAM: import("@apollo/client").DocumentNode;
|
|
80
|
+
export interface IOsceChatStreamVar {
|
|
81
|
+
osceMarksheetId: Id;
|
|
82
|
+
phase?: EOsceStationPhase;
|
|
83
|
+
}
|
|
84
|
+
export interface IOsceChatStreamChunk {
|
|
85
|
+
token: string | null;
|
|
86
|
+
message: string | null;
|
|
87
|
+
done: boolean;
|
|
88
|
+
phase: EOsceStationPhase;
|
|
89
|
+
error: string | null;
|
|
90
|
+
osceMarksheetId: Id;
|
|
91
|
+
}
|
|
92
|
+
export type IOsceChatStreamData = RootData<IOsceChatStreamChunk, 'osceChatStream'>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OSCE_MARKSHEET_TIMER = exports.OSCE_MATCHMAKING_USERS = exports.OSCE_MATCHMAKING = exports.OSCE_MARKSHEET_ACTION = exports.OSCE_ROLE_CHANGE = exports.OsceGroupInit = exports.OSCE_MATCHMAKING_USERS_KEY = exports.OSCE_MATCHMAKING_KEY = exports.OSCE_MARKSHEET_TIMER_KEY = exports.OSCE_MARKSHEET_ACTION_KEY = exports.OSCE_ROLE_CHANGE_KEY = void 0;
|
|
3
|
+
exports.OSCE_CHAT_STREAM = exports.OSCE_MARKSHEET_TIMER = exports.OSCE_MATCHMAKING_USERS = exports.OSCE_MATCHMAKING = exports.OSCE_MARKSHEET_ACTION = exports.OSCE_ROLE_CHANGE = exports.OsceGroupInit = exports.OSCE_MATCHMAKING_USERS_KEY = exports.OSCE_MATCHMAKING_KEY = exports.OSCE_MARKSHEET_TIMER_KEY = exports.OSCE_MARKSHEET_ACTION_KEY = exports.OSCE_ROLE_CHANGE_KEY = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const models_1 = require("../../models");
|
|
6
6
|
const fragments_1 = require("../fragments");
|
|
@@ -136,3 +136,18 @@ exports.OSCE_MARKSHEET_TIMER = (0, client_1.gql) `
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
`;
|
|
139
|
+
exports.OSCE_CHAT_STREAM = (0, client_1.gql) `
|
|
140
|
+
subscription OsceMarksheetMessage(
|
|
141
|
+
$osceMarksheetId: Int!
|
|
142
|
+
$phase: OsceStationPhase
|
|
143
|
+
) {
|
|
144
|
+
osceChatStream(osceMarksheetId: $osceMarksheetId, phase: $phase) {
|
|
145
|
+
token
|
|
146
|
+
message
|
|
147
|
+
done
|
|
148
|
+
phase
|
|
149
|
+
error
|
|
150
|
+
osceMarksheetId
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
`;
|
|
@@ -18,6 +18,8 @@ export interface IOsceMarksheetMark {
|
|
|
18
18
|
id: Id;
|
|
19
19
|
index: number;
|
|
20
20
|
mark: number | null;
|
|
21
|
+
reason?: string;
|
|
22
|
+
suggestion?: string;
|
|
21
23
|
selectedChoice: Nullable<EPaceMarkType>;
|
|
22
24
|
osceMarksheetId: Id;
|
|
23
25
|
osceMarksheet?: IOsceMarksheet;
|
|
@@ -43,7 +45,8 @@ export declare enum EOsceMarksheetAction {
|
|
|
43
45
|
LEFT = 8,
|
|
44
46
|
KICK = 9,
|
|
45
47
|
ROLE_CHANGE = 10,
|
|
46
|
-
STATE_CHANGE = 11
|
|
48
|
+
STATE_CHANGE = 11,
|
|
49
|
+
PHASE_CHANGE = 12
|
|
47
50
|
}
|
|
48
51
|
export declare enum EOsceMarksheetState {
|
|
49
52
|
LOBBY = 0,
|
|
@@ -52,6 +55,35 @@ export declare enum EOsceMarksheetState {
|
|
|
52
55
|
STATION = 3,
|
|
53
56
|
RESULT = 4
|
|
54
57
|
}
|
|
58
|
+
export declare enum EOsceMarksheetMode {
|
|
59
|
+
STANDARD = "STANDARD",
|
|
60
|
+
CHAT = "CHAT",
|
|
61
|
+
VOICE = "VOICE"
|
|
62
|
+
}
|
|
63
|
+
export declare enum EOsceStationPhase {
|
|
64
|
+
PATIENT = "PATIENT",
|
|
65
|
+
EXAMINER = "EXAMINER"
|
|
66
|
+
}
|
|
67
|
+
export interface IOsceMarksheetMessage {
|
|
68
|
+
id: Id;
|
|
69
|
+
type: string;
|
|
70
|
+
content: string;
|
|
71
|
+
createdAt: number | Date;
|
|
72
|
+
phase: EOsceStationPhase;
|
|
73
|
+
}
|
|
74
|
+
export interface IOsceMarksheetHeaderFeedback {
|
|
75
|
+
header: string;
|
|
76
|
+
summary: string;
|
|
77
|
+
strengths: string[];
|
|
78
|
+
improvements: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface IOsceMarksheetSummary {
|
|
81
|
+
commentary: string;
|
|
82
|
+
overallSummary: string;
|
|
83
|
+
strengths: string[];
|
|
84
|
+
improvements: string[];
|
|
85
|
+
headerFeedback: IOsceMarksheetHeaderFeedback[];
|
|
86
|
+
}
|
|
55
87
|
export interface IOsceMarksheet {
|
|
56
88
|
id: Id;
|
|
57
89
|
createdAt: number | Date;
|
|
@@ -88,6 +120,11 @@ export interface IOsceMarksheet {
|
|
|
88
120
|
entitlement: IEntitlement;
|
|
89
121
|
entitlementId: EProductType | EEntitlementType;
|
|
90
122
|
isTimed: boolean;
|
|
123
|
+
phase: EOsceStationPhase;
|
|
124
|
+
mode: EOsceMarksheetMode;
|
|
125
|
+
summary: IOsceMarksheetSummary | null;
|
|
126
|
+
messages: IOsceMarksheetMessage[] | null;
|
|
127
|
+
transcript: string | null;
|
|
91
128
|
}
|
|
92
129
|
export interface IDashboardOsce {
|
|
93
130
|
lastSessionId: string;
|
|
@@ -21,6 +21,7 @@ export var EOsceMarksheetAction;
|
|
|
21
21
|
EOsceMarksheetAction[EOsceMarksheetAction["KICK"] = 9] = "KICK";
|
|
22
22
|
EOsceMarksheetAction[EOsceMarksheetAction["ROLE_CHANGE"] = 10] = "ROLE_CHANGE";
|
|
23
23
|
EOsceMarksheetAction[EOsceMarksheetAction["STATE_CHANGE"] = 11] = "STATE_CHANGE";
|
|
24
|
+
EOsceMarksheetAction[EOsceMarksheetAction["PHASE_CHANGE"] = 12] = "PHASE_CHANGE";
|
|
24
25
|
})(EOsceMarksheetAction || (EOsceMarksheetAction = {}));
|
|
25
26
|
export var EOsceMarksheetState;
|
|
26
27
|
(function (EOsceMarksheetState) {
|
|
@@ -30,6 +31,17 @@ export var EOsceMarksheetState;
|
|
|
30
31
|
EOsceMarksheetState[EOsceMarksheetState["STATION"] = 3] = "STATION";
|
|
31
32
|
EOsceMarksheetState[EOsceMarksheetState["RESULT"] = 4] = "RESULT";
|
|
32
33
|
})(EOsceMarksheetState || (EOsceMarksheetState = {}));
|
|
34
|
+
export var EOsceMarksheetMode;
|
|
35
|
+
(function (EOsceMarksheetMode) {
|
|
36
|
+
EOsceMarksheetMode["STANDARD"] = "STANDARD";
|
|
37
|
+
EOsceMarksheetMode["CHAT"] = "CHAT";
|
|
38
|
+
EOsceMarksheetMode["VOICE"] = "VOICE";
|
|
39
|
+
})(EOsceMarksheetMode || (EOsceMarksheetMode = {}));
|
|
40
|
+
export var EOsceStationPhase;
|
|
41
|
+
(function (EOsceStationPhase) {
|
|
42
|
+
EOsceStationPhase["PATIENT"] = "PATIENT";
|
|
43
|
+
EOsceStationPhase["EXAMINER"] = "EXAMINER";
|
|
44
|
+
})(EOsceStationPhase || (EOsceStationPhase = {}));
|
|
33
45
|
export var EOsceTimerState;
|
|
34
46
|
(function (EOsceTimerState) {
|
|
35
47
|
EOsceTimerState[EOsceTimerState["START"] = 0] = "START";
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export declare const OSCE_STATION_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
2
2
|
export declare const OSCE_STATION_FIELDS: import("@apollo/client").DocumentNode;
|
|
3
3
|
export declare const OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
4
|
+
export declare const OSCE_MARKSHEET_MESSAGE_FIELDS: import("@apollo/client").DocumentNode;
|
|
5
|
+
export declare const OSCE_MARKSHEET_RESULT_FIELDS: import("@apollo/client").DocumentNode;
|
|
4
6
|
export declare const OSCE_MARKSHEET_FIELDS: import("@apollo/client").DocumentNode;
|
|
5
7
|
export declare const OSCE_MATCHMAKING_ACTION_FIELDS: import("@apollo/client").DocumentNode;
|
|
6
8
|
export declare const STATION_CONCEPT_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
7
9
|
export declare const COMPLETED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
10
|
+
export declare const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
8
11
|
export declare const COMPLETED_OSCE_STATION_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
9
12
|
export declare const UPSERT_STATION_NOTE_FRAGMENT: import("@apollo/client").DocumentNode;
|
|
13
|
+
export declare const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS: import("@apollo/client").DocumentNode;
|
|
@@ -26,6 +26,8 @@ export const OSCE_STATION_FIELDS = gql `
|
|
|
26
26
|
name
|
|
27
27
|
hiddenName
|
|
28
28
|
status
|
|
29
|
+
aiEnabled
|
|
30
|
+
examinerQuestions
|
|
29
31
|
userNote {
|
|
30
32
|
id
|
|
31
33
|
userId
|
|
@@ -56,6 +58,9 @@ export const OSCE_STATION_FIELDS = gql `
|
|
|
56
58
|
id
|
|
57
59
|
name
|
|
58
60
|
}
|
|
61
|
+
picture {
|
|
62
|
+
...PictureFields
|
|
63
|
+
}
|
|
59
64
|
candidatePictures {
|
|
60
65
|
...PictureFields
|
|
61
66
|
}
|
|
@@ -91,8 +96,42 @@ export const OSCE_MARKSHEET_MARK_FIELDS = gql `
|
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
98
|
`;
|
|
99
|
+
export const OSCE_MARKSHEET_MESSAGE_FIELDS = gql `
|
|
100
|
+
fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
|
|
101
|
+
id
|
|
102
|
+
type
|
|
103
|
+
content
|
|
104
|
+
createdAt
|
|
105
|
+
phase
|
|
106
|
+
}
|
|
107
|
+
`;
|
|
108
|
+
export const OSCE_MARKSHEET_RESULT_FIELDS = gql `
|
|
109
|
+
${OSCE_MARKSHEET_MESSAGE_FIELDS}
|
|
110
|
+
fragment OsceMarksheetResultFields on OsceMarksheet {
|
|
111
|
+
feedback
|
|
112
|
+
summary {
|
|
113
|
+
commentary
|
|
114
|
+
overallSummary
|
|
115
|
+
strengths
|
|
116
|
+
improvements
|
|
117
|
+
headerFeedback {
|
|
118
|
+
header
|
|
119
|
+
summary
|
|
120
|
+
strengths
|
|
121
|
+
improvements
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
transcript
|
|
125
|
+
messages {
|
|
126
|
+
...OsceMarksheetMessageFields
|
|
127
|
+
}
|
|
128
|
+
score
|
|
129
|
+
globalScore
|
|
130
|
+
}
|
|
131
|
+
`;
|
|
94
132
|
export const OSCE_MARKSHEET_FIELDS = gql `
|
|
95
133
|
${OSCE_MARKSHEET_MARK_FIELDS}
|
|
134
|
+
${OSCE_MARKSHEET_RESULT_FIELDS}
|
|
96
135
|
fragment OsceMarksheetFields on OsceMarksheet {
|
|
97
136
|
id
|
|
98
137
|
createdAt
|
|
@@ -100,10 +139,9 @@ export const OSCE_MARKSHEET_FIELDS = gql `
|
|
|
100
139
|
timeTaken
|
|
101
140
|
osceStationId
|
|
102
141
|
solo
|
|
103
|
-
|
|
104
|
-
score
|
|
105
|
-
feedback
|
|
142
|
+
mode
|
|
106
143
|
agoraId
|
|
144
|
+
phase
|
|
107
145
|
sessionId
|
|
108
146
|
isTimed
|
|
109
147
|
readingTime
|
|
@@ -139,6 +177,7 @@ export const OSCE_MARKSHEET_FIELDS = gql `
|
|
|
139
177
|
}
|
|
140
178
|
state
|
|
141
179
|
completed
|
|
180
|
+
...OsceMarksheetResultFields
|
|
142
181
|
}
|
|
143
182
|
`;
|
|
144
183
|
export const OSCE_MATCHMAKING_ACTION_FIELDS = gql `
|
|
@@ -169,6 +208,14 @@ export const COMPLETED_OSCE_MARKSHEET_FRAGMENT = gql `
|
|
|
169
208
|
endedAt
|
|
170
209
|
}
|
|
171
210
|
`;
|
|
211
|
+
export const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = gql `
|
|
212
|
+
fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
|
|
213
|
+
transcript
|
|
214
|
+
feedback
|
|
215
|
+
score
|
|
216
|
+
globalScore
|
|
217
|
+
}
|
|
218
|
+
`;
|
|
172
219
|
export const COMPLETED_OSCE_STATION_FRAGMENT = gql `
|
|
173
220
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
174
221
|
score
|
|
@@ -188,3 +235,10 @@ export const UPSERT_STATION_NOTE_FRAGMENT = gql `
|
|
|
188
235
|
}
|
|
189
236
|
}
|
|
190
237
|
`;
|
|
238
|
+
export const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = gql `
|
|
239
|
+
fragment AutoMarkedOsceMarksheetMarkFields on OsceMarksheetMark {
|
|
240
|
+
mark
|
|
241
|
+
reason
|
|
242
|
+
suggestion
|
|
243
|
+
}
|
|
244
|
+
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApolloCache } from '@apollo/client';
|
|
2
|
-
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
2
|
+
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
3
3
|
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
|
|
4
|
-
import { IOsceMatchmakingAction } from '../../subscription/osce';
|
|
4
|
+
import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
|
|
5
5
|
import { RestrictedData, graphqlNormalize } from '../../types';
|
|
6
6
|
export declare const START_OSCE_MATCHMAKING: import("@apollo/client").DocumentNode;
|
|
7
7
|
export interface IStartOsceMatchmakingVar {
|
|
@@ -70,6 +70,7 @@ export interface IPrestartOsceMarksheetVar {
|
|
|
70
70
|
stationTime: number;
|
|
71
71
|
feedbackTime: number;
|
|
72
72
|
isTimed: boolean;
|
|
73
|
+
mode?: EOsceMarksheetMode;
|
|
73
74
|
}
|
|
74
75
|
export type IPrestartOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'prestartOsceMarksheet'>;
|
|
75
76
|
export declare const SAVE_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
@@ -133,6 +134,11 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
|
|
|
133
134
|
entitlement: import("../../../models").IEntitlement;
|
|
134
135
|
entitlementId: EEntitlementType | EProductType;
|
|
135
136
|
isTimed: boolean;
|
|
137
|
+
phase: EOsceStationPhase;
|
|
138
|
+
mode: EOsceMarksheetMode;
|
|
139
|
+
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
140
|
+
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
141
|
+
transcript: string | null;
|
|
136
142
|
__typename: string;
|
|
137
143
|
};
|
|
138
144
|
};
|
|
@@ -142,3 +148,16 @@ export interface ILeaveOsceMarksheetVar {
|
|
|
142
148
|
osceMarksheetId: Id;
|
|
143
149
|
}
|
|
144
150
|
export type ILeaveOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'leaveOsceMarksheet'>;
|
|
151
|
+
export declare const STREAM_OSCE_CHAT_MESSAGE: import("@apollo/client").DocumentNode;
|
|
152
|
+
export interface IStreamOsceChatMessageVar {
|
|
153
|
+
osceMarksheetId: Id;
|
|
154
|
+
message: string;
|
|
155
|
+
phase: EOsceStationPhase;
|
|
156
|
+
}
|
|
157
|
+
export type IStreamOsceChatMessageData = RestrictedData<graphqlNormalize & IOsceChatStreamChunk, 'streamOsceChatMessage'>;
|
|
158
|
+
export declare const AUTO_MARK_OSCE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
159
|
+
export interface IAutoMarkOsceMarksheetVar {
|
|
160
|
+
osceMarksheetId: Id;
|
|
161
|
+
}
|
|
162
|
+
export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
|
|
163
|
+
export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { gql } from '@apollo/client';
|
|
2
2
|
import { EProductType, } from '../../../models';
|
|
3
|
-
import {
|
|
3
|
+
import { COMPLETED_OSCE_STATION_FRAGMENT, OSCE_MARKSHEET_FIELDS, OSCE_MATCHMAKING_ACTION_FIELDS, OSCE_STATION_FIELDS, } from '../../fragments';
|
|
4
4
|
export const START_OSCE_MATCHMAKING = gql `
|
|
5
5
|
mutation StartOsceMatchmaking($sessionId: String!) {
|
|
6
6
|
restricted {
|
|
@@ -170,6 +170,7 @@ export const PRESTART_OSCE_MARKSHEET = gql `
|
|
|
170
170
|
$stationTime: Int!
|
|
171
171
|
$feedbackTime: Int!
|
|
172
172
|
$isTimed: Boolean
|
|
173
|
+
$mode: OsceMarksheetMode
|
|
173
174
|
) {
|
|
174
175
|
restricted {
|
|
175
176
|
prestartOsceMarksheet(
|
|
@@ -178,6 +179,7 @@ export const PRESTART_OSCE_MARKSHEET = gql `
|
|
|
178
179
|
stationTime: $stationTime
|
|
179
180
|
feedbackTime: $feedbackTime
|
|
180
181
|
isTimed: $isTimed
|
|
182
|
+
mode: $mode
|
|
181
183
|
) {
|
|
182
184
|
...OsceMarksheetFields
|
|
183
185
|
osceStation {
|
|
@@ -244,21 +246,35 @@ export const updateCacheOnEndOsceMarksheet = (productType) => (cache, result, op
|
|
|
244
246
|
if (!variables || !endOsceMarksheet) {
|
|
245
247
|
return;
|
|
246
248
|
}
|
|
247
|
-
cache.
|
|
249
|
+
cache.modify({
|
|
248
250
|
id: cache.identify({
|
|
249
251
|
id: endOsceMarksheet.id,
|
|
250
252
|
__typename: 'OsceMarksheet',
|
|
251
253
|
}),
|
|
252
|
-
|
|
253
|
-
completed: true,
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
254
|
+
fields: {
|
|
255
|
+
completed: () => true,
|
|
256
|
+
state: () => endOsceMarksheet.state,
|
|
257
|
+
timeTaken: () => endOsceMarksheet.timeTaken,
|
|
258
|
+
endedAt: () => endOsceMarksheet.endedAt,
|
|
259
|
+
score: () => endOsceMarksheet.score,
|
|
260
|
+
globalScore: () => endOsceMarksheet.globalScore,
|
|
261
|
+
transcript: () => endOsceMarksheet.transcript,
|
|
262
|
+
feedback: () => endOsceMarksheet.feedback,
|
|
259
263
|
},
|
|
260
|
-
fragment: COMPLETED_OSCE_MARKSHEET_FRAGMENT,
|
|
261
264
|
});
|
|
265
|
+
for (const mark of endOsceMarksheet.marks) {
|
|
266
|
+
cache.modify({
|
|
267
|
+
id: cache.identify({
|
|
268
|
+
id: mark.id,
|
|
269
|
+
__typename: 'OsceMarksheetMark',
|
|
270
|
+
}),
|
|
271
|
+
fields: {
|
|
272
|
+
mark: () => mark.mark,
|
|
273
|
+
reason: () => mark.reason,
|
|
274
|
+
suggestion: () => mark.suggestion,
|
|
275
|
+
},
|
|
276
|
+
});
|
|
277
|
+
}
|
|
262
278
|
cache.writeFragment({
|
|
263
279
|
id: cache.identify({
|
|
264
280
|
id: endOsceMarksheet.osceStationId,
|
|
@@ -294,3 +310,59 @@ export const LEAVE_OSCE_MARKSHEET = gql `
|
|
|
294
310
|
}
|
|
295
311
|
}
|
|
296
312
|
`;
|
|
313
|
+
export const STREAM_OSCE_CHAT_MESSAGE = gql `
|
|
314
|
+
mutation StreamOsceChatMessage(
|
|
315
|
+
$osceMarksheetId: Int!
|
|
316
|
+
$message: String!
|
|
317
|
+
$phase: OsceStationPhase!
|
|
318
|
+
) {
|
|
319
|
+
restricted {
|
|
320
|
+
streamOsceChatMessage(
|
|
321
|
+
osceMarksheetId: $osceMarksheetId
|
|
322
|
+
message: $message
|
|
323
|
+
phase: $phase
|
|
324
|
+
)
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
`;
|
|
328
|
+
export const AUTO_MARK_OSCE_MARKSHEET = gql `
|
|
329
|
+
mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
|
|
330
|
+
restricted {
|
|
331
|
+
autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
|
|
332
|
+
...OsceMarksheetFields
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
`;
|
|
337
|
+
export const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
|
|
338
|
+
const { autoMarkOsceMarksheet } = result?.data?.restricted || {};
|
|
339
|
+
const { variables } = options || {};
|
|
340
|
+
if (!variables || !autoMarkOsceMarksheet) {
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
cache.modify({
|
|
344
|
+
id: cache.identify({
|
|
345
|
+
id: autoMarkOsceMarksheet.id,
|
|
346
|
+
__typename: 'OsceMarksheetMark',
|
|
347
|
+
}),
|
|
348
|
+
fields: {
|
|
349
|
+
score: () => autoMarkOsceMarksheet.score,
|
|
350
|
+
globalScore: () => autoMarkOsceMarksheet.globalScore,
|
|
351
|
+
transcript: () => autoMarkOsceMarksheet.transcript,
|
|
352
|
+
feedback: () => autoMarkOsceMarksheet.feedback,
|
|
353
|
+
},
|
|
354
|
+
});
|
|
355
|
+
for (const mark of autoMarkOsceMarksheet.marks) {
|
|
356
|
+
cache.modify({
|
|
357
|
+
id: cache.identify({
|
|
358
|
+
id: mark.id,
|
|
359
|
+
__typename: 'OsceMarksheetMark',
|
|
360
|
+
}),
|
|
361
|
+
fields: {
|
|
362
|
+
mark: () => mark.mark,
|
|
363
|
+
reason: () => mark.reason,
|
|
364
|
+
suggestion: () => mark.suggestion,
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
};
|
|
@@ -55,20 +55,6 @@ export const DASHBOARD_OSCE = gql `
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
`;
|
|
58
|
-
export const OSCE_MARKSHEETS = gql `
|
|
59
|
-
${OSCE_STATION_FIELDS}
|
|
60
|
-
${OSCE_MARKSHEET_FIELDS}
|
|
61
|
-
query OsceMarksheets($solo: Boolean, $days: Int) {
|
|
62
|
-
restricted {
|
|
63
|
-
osceMarksheets(solo: $solo, days: $days) {
|
|
64
|
-
...OsceMarksheetFields
|
|
65
|
-
osceStation {
|
|
66
|
-
...OsceStationFields
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
`;
|
|
72
58
|
export const OSCE_MARKSHEET_WINDOW = gql `
|
|
73
59
|
${OSCE_STATION_FIELDS}
|
|
74
60
|
${OSCE_MARKSHEET_FIELDS}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
|
|
1
|
+
import { EClassYearGroup, EOsceMarksheetAction, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, IAccessLevel, IClassYear, Id, IOsceMarksheetMark, IOsceMarksheetMember, IOsceMarksheetTimer, IUser } from '../../models';
|
|
2
2
|
import { RootData } from '../types';
|
|
3
3
|
export declare const OSCE_ROLE_CHANGE_KEY = "OSCE_ROLE_CHANGE";
|
|
4
4
|
export declare const OSCE_MARKSHEET_ACTION_KEY = "OSCE_MARKSHEET_ACTION";
|
|
@@ -76,3 +76,17 @@ export interface IOsceMarksheetTimerVar {
|
|
|
76
76
|
sessionId: string;
|
|
77
77
|
}
|
|
78
78
|
export type IOsceMarksheetTimerData = RootData<IOsceMarksheetTimer, 'osceMarksheetTimer'>;
|
|
79
|
+
export declare const OSCE_CHAT_STREAM: import("@apollo/client").DocumentNode;
|
|
80
|
+
export interface IOsceChatStreamVar {
|
|
81
|
+
osceMarksheetId: Id;
|
|
82
|
+
phase?: EOsceStationPhase;
|
|
83
|
+
}
|
|
84
|
+
export interface IOsceChatStreamChunk {
|
|
85
|
+
token: string | null;
|
|
86
|
+
message: string | null;
|
|
87
|
+
done: boolean;
|
|
88
|
+
phase: EOsceStationPhase;
|
|
89
|
+
error: string | null;
|
|
90
|
+
osceMarksheetId: Id;
|
|
91
|
+
}
|
|
92
|
+
export type IOsceChatStreamData = RootData<IOsceChatStreamChunk, 'osceChatStream'>;
|
|
@@ -132,3 +132,18 @@ export const OSCE_MARKSHEET_TIMER = gql `
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
`;
|
|
135
|
+
export const OSCE_CHAT_STREAM = gql `
|
|
136
|
+
subscription OsceMarksheetMessage(
|
|
137
|
+
$osceMarksheetId: Int!
|
|
138
|
+
$phase: OsceStationPhase
|
|
139
|
+
) {
|
|
140
|
+
osceChatStream(osceMarksheetId: $osceMarksheetId, phase: $phase) {
|
|
141
|
+
token
|
|
142
|
+
message
|
|
143
|
+
done
|
|
144
|
+
phase
|
|
145
|
+
error
|
|
146
|
+
osceMarksheetId
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
`;
|