@quesmed/types 2.6.242 → 2.6.244
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/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/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,11 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
|
29
29
|
name
|
|
30
30
|
hiddenName
|
|
31
31
|
status
|
|
32
|
+
aiEnabled
|
|
33
|
+
examinerQuestions {
|
|
34
|
+
index
|
|
35
|
+
question
|
|
36
|
+
}
|
|
32
37
|
userNote {
|
|
33
38
|
id
|
|
34
39
|
userId
|
|
@@ -97,8 +102,42 @@ exports.OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
|
|
|
97
102
|
}
|
|
98
103
|
}
|
|
99
104
|
`;
|
|
105
|
+
exports.OSCE_MARKSHEET_MESSAGE_FIELDS = (0, client_1.gql) `
|
|
106
|
+
fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
|
|
107
|
+
id
|
|
108
|
+
type
|
|
109
|
+
content
|
|
110
|
+
createdAt
|
|
111
|
+
phase
|
|
112
|
+
}
|
|
113
|
+
`;
|
|
114
|
+
exports.OSCE_MARKSHEET_RESULT_FIELDS = (0, client_1.gql) `
|
|
115
|
+
${exports.OSCE_MARKSHEET_MESSAGE_FIELDS}
|
|
116
|
+
fragment OsceMarksheetResultFields on OsceMarksheet {
|
|
117
|
+
feedback
|
|
118
|
+
summary {
|
|
119
|
+
commentary
|
|
120
|
+
overallSummary
|
|
121
|
+
strengths
|
|
122
|
+
improvements
|
|
123
|
+
headerFeedback {
|
|
124
|
+
header
|
|
125
|
+
summary
|
|
126
|
+
strengths
|
|
127
|
+
improvements
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
transcript
|
|
131
|
+
messages {
|
|
132
|
+
...OsceMarksheetMessageFields
|
|
133
|
+
}
|
|
134
|
+
score
|
|
135
|
+
globalScore
|
|
136
|
+
}
|
|
137
|
+
`;
|
|
100
138
|
exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
101
139
|
${exports.OSCE_MARKSHEET_MARK_FIELDS}
|
|
140
|
+
${exports.OSCE_MARKSHEET_RESULT_FIELDS}
|
|
102
141
|
fragment OsceMarksheetFields on OsceMarksheet {
|
|
103
142
|
id
|
|
104
143
|
createdAt
|
|
@@ -106,10 +145,9 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
|
106
145
|
timeTaken
|
|
107
146
|
osceStationId
|
|
108
147
|
solo
|
|
109
|
-
|
|
110
|
-
score
|
|
111
|
-
feedback
|
|
148
|
+
mode
|
|
112
149
|
agoraId
|
|
150
|
+
phase
|
|
113
151
|
sessionId
|
|
114
152
|
isTimed
|
|
115
153
|
readingTime
|
|
@@ -145,6 +183,7 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
|
145
183
|
}
|
|
146
184
|
state
|
|
147
185
|
completed
|
|
186
|
+
...OsceMarksheetResultFields
|
|
148
187
|
}
|
|
149
188
|
`;
|
|
150
189
|
exports.OSCE_MATCHMAKING_ACTION_FIELDS = (0, client_1.gql) `
|
|
@@ -175,6 +214,14 @@ exports.COMPLETED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
|
|
|
175
214
|
endedAt
|
|
176
215
|
}
|
|
177
216
|
`;
|
|
217
|
+
exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
|
|
218
|
+
fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
|
|
219
|
+
transcript
|
|
220
|
+
feedback
|
|
221
|
+
score
|
|
222
|
+
globalScore
|
|
223
|
+
}
|
|
224
|
+
`;
|
|
178
225
|
exports.COMPLETED_OSCE_STATION_FRAGMENT = (0, client_1.gql) `
|
|
179
226
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
180
227
|
score
|
|
@@ -194,3 +241,10 @@ exports.UPSERT_STATION_NOTE_FRAGMENT = (0, client_1.gql) `
|
|
|
194
241
|
}
|
|
195
242
|
}
|
|
196
243
|
`;
|
|
244
|
+
exports.AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
|
|
245
|
+
fragment AutoMarkedOsceMarksheetMarkFields on OsceMarksheetMark {
|
|
246
|
+
mark
|
|
247
|
+
reason
|
|
248
|
+
suggestion
|
|
249
|
+
}
|
|
250
|
+
`;
|
|
@@ -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,11 @@ export const OSCE_STATION_FIELDS = gql `
|
|
|
26
26
|
name
|
|
27
27
|
hiddenName
|
|
28
28
|
status
|
|
29
|
+
aiEnabled
|
|
30
|
+
examinerQuestions {
|
|
31
|
+
index
|
|
32
|
+
question
|
|
33
|
+
}
|
|
29
34
|
userNote {
|
|
30
35
|
id
|
|
31
36
|
userId
|
|
@@ -94,8 +99,42 @@ export const OSCE_MARKSHEET_MARK_FIELDS = gql `
|
|
|
94
99
|
}
|
|
95
100
|
}
|
|
96
101
|
`;
|
|
102
|
+
export const OSCE_MARKSHEET_MESSAGE_FIELDS = gql `
|
|
103
|
+
fragment OsceMarksheetMessageFields on OsceMarksheetMessage {
|
|
104
|
+
id
|
|
105
|
+
type
|
|
106
|
+
content
|
|
107
|
+
createdAt
|
|
108
|
+
phase
|
|
109
|
+
}
|
|
110
|
+
`;
|
|
111
|
+
export const OSCE_MARKSHEET_RESULT_FIELDS = gql `
|
|
112
|
+
${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
|
export const OSCE_MARKSHEET_FIELDS = gql `
|
|
98
136
|
${OSCE_MARKSHEET_MARK_FIELDS}
|
|
137
|
+
${OSCE_MARKSHEET_RESULT_FIELDS}
|
|
99
138
|
fragment OsceMarksheetFields on OsceMarksheet {
|
|
100
139
|
id
|
|
101
140
|
createdAt
|
|
@@ -103,10 +142,9 @@ export const OSCE_MARKSHEET_FIELDS = 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 @@ export const OSCE_MARKSHEET_FIELDS = gql `
|
|
|
142
180
|
}
|
|
143
181
|
state
|
|
144
182
|
completed
|
|
183
|
+
...OsceMarksheetResultFields
|
|
145
184
|
}
|
|
146
185
|
`;
|
|
147
186
|
export const OSCE_MATCHMAKING_ACTION_FIELDS = gql `
|
|
@@ -172,6 +211,14 @@ export const COMPLETED_OSCE_MARKSHEET_FRAGMENT = gql `
|
|
|
172
211
|
endedAt
|
|
173
212
|
}
|
|
174
213
|
`;
|
|
214
|
+
export const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = gql `
|
|
215
|
+
fragment AutoMarkedOsceMarksheetFragment on OsceMarksheet {
|
|
216
|
+
transcript
|
|
217
|
+
feedback
|
|
218
|
+
score
|
|
219
|
+
globalScore
|
|
220
|
+
}
|
|
221
|
+
`;
|
|
175
222
|
export const COMPLETED_OSCE_STATION_FRAGMENT = gql `
|
|
176
223
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
177
224
|
score
|
|
@@ -191,3 +238,10 @@ export const UPSERT_STATION_NOTE_FRAGMENT = gql `
|
|
|
191
238
|
}
|
|
192
239
|
}
|
|
193
240
|
`;
|
|
241
|
+
export const AUTO_MARKED_OSCE_MARKSHEET_MARK_FIELDS = 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
|
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
|
+
`;
|