@quesmed/types 2.5.106 → 2.5.107

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.
@@ -45,6 +45,8 @@ export interface IOsceStation {
45
45
  actorBrief: string;
46
46
  explanation: string;
47
47
  marks: IOsceStationMark[];
48
+ totalMarks: number;
49
+ completedMarks: number;
48
50
  topics?: ITopic[];
49
51
  candidatePictures?: IPicture[];
50
52
  actorPictures?: IPicture[];
@@ -38,6 +38,8 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
38
38
  marks {
39
39
  ...OsceStationMarkFields
40
40
  }
41
+ totalMarks
42
+ completedMarks
41
43
  topics {
42
44
  id
43
45
  name
@@ -55,7 +55,9 @@ function formatPrescribeAnswer(baseAnswer) {
55
55
  value: baseAnswer.duration?.value ?? '',
56
56
  }),
57
57
  });
58
+ // DRUG
58
59
  obj.drug.value = obj.drug.value.toLowerCase().replace(/\s/g, '');
60
+ // ROUTE
59
61
  obj.route.value = obj.route.value
60
62
  .toLowerCase()
61
63
  .replace(/\s/g, '')
@@ -84,20 +86,26 @@ function formatPrescribeAnswer(baseAnswer) {
84
86
  else if (obj.route.value.includes('rectal')) {
85
87
  obj.route.value = 'pr';
86
88
  }
89
+ // UNITS
87
90
  obj.units.value = obj.units.value.toLowerCase().replace(/\s/g, '');
88
- if (obj.units.value === 'milligram' || obj.units.value === 'milligrams') {
89
- obj.units.value = 'mg';
90
- }
91
- else if (obj.units.value === 'microgram' ||
92
- obj.units.value === 'micrograms') {
93
- obj.units.value = 'mcg';
94
- }
95
- else if (obj.units.value === 'gram' || obj.units.value === 'grams') {
96
- obj.units.value = 'g';
97
- }
98
- else if (obj.units.value === 'unit') {
99
- obj.units.value = 'units';
91
+ switch (obj.units.value) {
92
+ case 'milligram':
93
+ case 'milligrams':
94
+ obj.units.value = 'mg';
95
+ break;
96
+ case 'microgram':
97
+ case 'micrograms':
98
+ obj.units.value = 'mcg';
99
+ break;
100
+ case 'gram':
101
+ case 'grams':
102
+ obj.units.value = 'g';
103
+ break;
104
+ case 'unit':
105
+ obj.units.value = 'units';
106
+ break;
100
107
  }
108
+ // DURATION
101
109
  let m;
102
110
  const durationMatches = new Set();
103
111
  while ((m = floatRegex.exec(obj.duration.value)) !== null) {
@@ -111,6 +119,7 @@ function formatPrescribeAnswer(baseAnswer) {
111
119
  durationMatches.add(durationWords.toString());
112
120
  }
113
121
  obj.duration.value = [...durationMatches].filter((x) => !!x).join(',');
122
+ // FREQUENCY
114
123
  const orgFrequencyValue = obj.frequency.value.toLowerCase();
115
124
  const timesPerDay = obj.frequency.value.includes('times per day') ||
116
125
  obj.frequency.value.includes('times a day');
@@ -242,7 +251,8 @@ function correctMark(mark) {
242
251
  const doseCorrect = answer.dose.display || answer.dose.value === attempt.dose.value;
243
252
  const drugCorrect = answer.drug.display || answer.drug.value === attempt.drug.value;
244
253
  const durationCorrect = answer.duration.display ||
245
- answer.duration.value.split(',').includes(attempt.duration.value);
254
+ answer.duration.value.split(',').includes(attempt.duration.value) ||
255
+ answer.duration.value === attempt.duration.value;
246
256
  const frequencyCorrect = answer.frequency.display ||
247
257
  answer.frequency.value === attempt.frequency.value;
248
258
  const routeCorrect = answer.route.display || answer.route.value === attempt.route.value;
@@ -45,6 +45,8 @@ export interface IOsceStation {
45
45
  actorBrief: string;
46
46
  explanation: string;
47
47
  marks: IOsceStationMark[];
48
+ totalMarks: number;
49
+ completedMarks: number;
48
50
  topics?: ITopic[];
49
51
  candidatePictures?: IPicture[];
50
52
  actorPictures?: IPicture[];
@@ -35,6 +35,8 @@ export const OSCE_STATION_FIELDS = gql `
35
35
  marks {
36
36
  ...OsceStationMarkFields
37
37
  }
38
+ totalMarks
39
+ completedMarks
38
40
  topics {
39
41
  id
40
42
  name
@@ -51,7 +51,9 @@ export function formatPrescribeAnswer(baseAnswer) {
51
51
  value: baseAnswer.duration?.value ?? '',
52
52
  }),
53
53
  });
54
+ // DRUG
54
55
  obj.drug.value = obj.drug.value.toLowerCase().replace(/\s/g, '');
56
+ // ROUTE
55
57
  obj.route.value = obj.route.value
56
58
  .toLowerCase()
57
59
  .replace(/\s/g, '')
@@ -80,20 +82,26 @@ export function formatPrescribeAnswer(baseAnswer) {
80
82
  else if (obj.route.value.includes('rectal')) {
81
83
  obj.route.value = 'pr';
82
84
  }
85
+ // UNITS
83
86
  obj.units.value = obj.units.value.toLowerCase().replace(/\s/g, '');
84
- if (obj.units.value === 'milligram' || obj.units.value === 'milligrams') {
85
- obj.units.value = 'mg';
86
- }
87
- else if (obj.units.value === 'microgram' ||
88
- obj.units.value === 'micrograms') {
89
- obj.units.value = 'mcg';
90
- }
91
- else if (obj.units.value === 'gram' || obj.units.value === 'grams') {
92
- obj.units.value = 'g';
93
- }
94
- else if (obj.units.value === 'unit') {
95
- obj.units.value = 'units';
87
+ switch (obj.units.value) {
88
+ case 'milligram':
89
+ case 'milligrams':
90
+ obj.units.value = 'mg';
91
+ break;
92
+ case 'microgram':
93
+ case 'micrograms':
94
+ obj.units.value = 'mcg';
95
+ break;
96
+ case 'gram':
97
+ case 'grams':
98
+ obj.units.value = 'g';
99
+ break;
100
+ case 'unit':
101
+ obj.units.value = 'units';
102
+ break;
96
103
  }
104
+ // DURATION
97
105
  let m;
98
106
  const durationMatches = new Set();
99
107
  while ((m = floatRegex.exec(obj.duration.value)) !== null) {
@@ -107,6 +115,7 @@ export function formatPrescribeAnswer(baseAnswer) {
107
115
  durationMatches.add(durationWords.toString());
108
116
  }
109
117
  obj.duration.value = [...durationMatches].filter((x) => !!x).join(',');
118
+ // FREQUENCY
110
119
  const orgFrequencyValue = obj.frequency.value.toLowerCase();
111
120
  const timesPerDay = obj.frequency.value.includes('times per day') ||
112
121
  obj.frequency.value.includes('times a day');
@@ -237,7 +246,8 @@ export function correctMark(mark) {
237
246
  const doseCorrect = answer.dose.display || answer.dose.value === attempt.dose.value;
238
247
  const drugCorrect = answer.drug.display || answer.drug.value === attempt.drug.value;
239
248
  const durationCorrect = answer.duration.display ||
240
- answer.duration.value.split(',').includes(attempt.duration.value);
249
+ answer.duration.value.split(',').includes(attempt.duration.value) ||
250
+ answer.duration.value === attempt.duration.value;
241
251
  const frequencyCorrect = answer.frequency.display ||
242
252
  answer.frequency.value === attempt.frequency.value;
243
253
  const routeCorrect = answer.route.display || answer.route.value === attempt.route.value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types",
3
- "version": "2.5.106",
3
+ "version": "2.5.107",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "keywords": [
6
6
  "quesmed",