@postxl/schema 0.0.2
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/LICENSE +50 -0
- package/README.md +320 -0
- package/dist/enum/enum.brands.d.ts +11 -0
- package/dist/enum/enum.brands.js +19 -0
- package/dist/enum/enum.d.ts +49 -0
- package/dist/enum/enum.defaults.d.ts +41 -0
- package/dist/enum/enum.defaults.js +105 -0
- package/dist/enum/enum.js +6 -0
- package/dist/enum/enum.json-decoder.d.ts +61 -0
- package/dist/enum/enum.json-decoder.js +51 -0
- package/dist/enum/enum.transformer.d.ts +12 -0
- package/dist/enum/enum.transformer.js +76 -0
- package/dist/enum/enum.types.d.ts +14 -0
- package/dist/enum/enum.types.js +2 -0
- package/dist/enum/index.d.ts +6 -0
- package/dist/enum/index.js +22 -0
- package/dist/field/defaults.d.ts +12 -0
- package/dist/field/defaults.js +78 -0
- package/dist/field/discriminated-union.d.ts +125 -0
- package/dist/field/discriminated-union.js +207 -0
- package/dist/field/enum.d.ts +65 -0
- package/dist/field/enum.js +111 -0
- package/dist/field/field.d.ts +483 -0
- package/dist/field/field.js +68 -0
- package/dist/field/id.d.ts +152 -0
- package/dist/field/id.js +104 -0
- package/dist/field/index.d.ts +11 -0
- package/dist/field/index.js +27 -0
- package/dist/field/relation.d.ts +88 -0
- package/dist/field/relation.js +138 -0
- package/dist/field/scalar.d.ts +179 -0
- package/dist/field/scalar.js +197 -0
- package/dist/field/shared/brands.d.ts +38 -0
- package/dist/field/shared/brands.js +109 -0
- package/dist/field/shared/decoders.d.ts +17 -0
- package/dist/field/shared/decoders.js +88 -0
- package/dist/field/shared/seed.d.ts +32 -0
- package/dist/field/shared/seed.js +63 -0
- package/dist/field/shared/types.d.ts +73 -0
- package/dist/field/shared/types.js +2 -0
- package/dist/field/shared/utils.d.ts +26 -0
- package/dist/field/shared/utils.js +52 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +25 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.js +21 -0
- package/dist/model/model.brands.d.ts +7 -0
- package/dist/model/model.brands.js +10 -0
- package/dist/model/model.defaults.d.ts +28 -0
- package/dist/model/model.defaults.js +304 -0
- package/dist/model/model.json-decoder.d.ts +94 -0
- package/dist/model/model.json-decoder.js +107 -0
- package/dist/model/model.transformer.d.ts +93 -0
- package/dist/model/model.transformer.js +183 -0
- package/dist/model/model.types.d.ts +37 -0
- package/dist/model/model.types.js +2 -0
- package/dist/project-schema/project-schema.brands.d.ts +10 -0
- package/dist/project-schema/project-schema.brands.js +17 -0
- package/dist/project-schema/project-schema.defaults.d.ts +16 -0
- package/dist/project-schema/project-schema.defaults.js +53 -0
- package/dist/project-schema/project-schema.json-decoder.d.ts +285 -0
- package/dist/project-schema/project-schema.json-decoder.js +145 -0
- package/dist/project-schema/project-schema.transformer.d.ts +284 -0
- package/dist/project-schema/project-schema.transformer.js +444 -0
- package/dist/project-schema/project-schema.types.d.ts +77 -0
- package/dist/project-schema/project-schema.types.js +2 -0
- package/dist/samples/la.schema.json +2055 -0
- package/dist/samples/mca.schema.json +830 -0
- package/dist/samples/ring.schema.json +879 -0
- package/dist/samples/sample-schemas.d.ts +1896 -0
- package/dist/samples/sample-schemas.js +20 -0
- package/dist/samples/simple.schema.json +250 -0
- package/dist/samples/subex.schema.json +1188 -0
- package/dist/samples/usp-msm.schema.json +2515 -0
- package/package.json +57 -0
|
@@ -0,0 +1,2055 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "McKinsey LA360",
|
|
3
|
+
"slug": "mckinsey-la360",
|
|
4
|
+
"description": "The default schema for PostXL projects.",
|
|
5
|
+
"version": "0.0.1",
|
|
6
|
+
"schemas": ["PXL", "Configuration", "Participation", "Benchmark"],
|
|
7
|
+
"defaultSchema": "PXL",
|
|
8
|
+
"systemUser": { "name": "System", "email": "system@postxl.com" },
|
|
9
|
+
"standardModels": ["Action", "ActionOperation", "File", "User"],
|
|
10
|
+
"models": [
|
|
11
|
+
{
|
|
12
|
+
"name": "Country",
|
|
13
|
+
"description": "",
|
|
14
|
+
"schema": "Configuration",
|
|
15
|
+
"fields": [
|
|
16
|
+
{
|
|
17
|
+
"name": "name",
|
|
18
|
+
"type": "String",
|
|
19
|
+
"label": "Name"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "code",
|
|
23
|
+
"type": "String",
|
|
24
|
+
"label": "Code",
|
|
25
|
+
"description": "Country code based on ISO 3166-1 alpha-2"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"standardFields": ["id"],
|
|
29
|
+
"seed": [
|
|
30
|
+
{ "id": "US", "name": "United States", "code": "US" },
|
|
31
|
+
{ "id": "CA", "name": "Canada", "code": "CA" },
|
|
32
|
+
{ "id": "DE", "name": "Germany", "code": "DE" }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "Benchmark",
|
|
37
|
+
"description": "A Benchmark is a collection of Surveys to the same topic (e.g. `Life & Annuities`, `Workforce Benefits`) across years and coutnries.",
|
|
38
|
+
"schema": "Configuration",
|
|
39
|
+
"fields": [
|
|
40
|
+
{
|
|
41
|
+
"name": "name",
|
|
42
|
+
"type": "String",
|
|
43
|
+
"label": "Name"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "slug",
|
|
47
|
+
"type": "String",
|
|
48
|
+
"label": "Slug",
|
|
49
|
+
"description": "The short slug of the benchmark."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "startCollectionYear",
|
|
53
|
+
"type": "Int",
|
|
54
|
+
"label": "StartCollectionYear",
|
|
55
|
+
"description": "The year of the first survey in the benchmark."
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"standardFields": ["id"],
|
|
59
|
+
"seed": [
|
|
60
|
+
{ "id": "la", "name": "Life & Annuities", "slug": "la", "startCollectionYear": 2018 },
|
|
61
|
+
{ "id": "wf", "name": "Workforce Benefits", "slug": "wf", "startCollectionYear": 2021 }
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "Survey",
|
|
66
|
+
"description": "",
|
|
67
|
+
"schema": "Configuration",
|
|
68
|
+
"fields": [
|
|
69
|
+
{
|
|
70
|
+
"name": "benchmarkId",
|
|
71
|
+
"type": "Benchmark",
|
|
72
|
+
"label": "BenchmarkId"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "name",
|
|
76
|
+
"type": "String",
|
|
77
|
+
"label": "Name"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "slug",
|
|
81
|
+
"type": "String",
|
|
82
|
+
"label": "Slug",
|
|
83
|
+
"description": "The short slug of the survey. Used for URLs and file names."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "collectionYear",
|
|
87
|
+
"type": "Int",
|
|
88
|
+
"label": "CollectionYear",
|
|
89
|
+
"description": "The year the survey was executed and the data was collected. Used in the slug and for identification."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "dataYear",
|
|
93
|
+
"type": "Int",
|
|
94
|
+
"label": "DataYear",
|
|
95
|
+
"description": "The year for which data was collected. Added here for disambiguation."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "applyDetailedSplit",
|
|
99
|
+
"type": "Boolean",
|
|
100
|
+
"label": "ApplyDetailedSplit",
|
|
101
|
+
"description": "If set to true, the calculation will apply the detailed splits logic. This was only introduced in L&A 2023.\nIf not set, the default split logic will be applied to split sections that are configured to use detailed splits."
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"standardFields": ["id"],
|
|
105
|
+
"seed": [
|
|
106
|
+
{
|
|
107
|
+
"id": "la2021",
|
|
108
|
+
"name": "Life & Annuities US 2021",
|
|
109
|
+
"benchmarkId": "la",
|
|
110
|
+
"slug": "la2021",
|
|
111
|
+
"collectionYear": 2022,
|
|
112
|
+
"dataYear": 2021,
|
|
113
|
+
"applyDetailedSplit": true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "wf2022",
|
|
117
|
+
"name": "Workforce Benefits Canada 2022",
|
|
118
|
+
"benchmarkId": "wf",
|
|
119
|
+
"slug": "wf2022",
|
|
120
|
+
"collectionYear": 2023,
|
|
121
|
+
"dataYear": 2022,
|
|
122
|
+
"applyDetailedSplit": false
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "Company",
|
|
128
|
+
"description": "",
|
|
129
|
+
"schema": "Participation",
|
|
130
|
+
"fields": [
|
|
131
|
+
{
|
|
132
|
+
"name": "name",
|
|
133
|
+
"type": "String",
|
|
134
|
+
"label": "Name"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "aliases",
|
|
138
|
+
"type": "String?",
|
|
139
|
+
"label": "Aliases",
|
|
140
|
+
"description": "Comma separated list of aliases for the company."
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"standardFields": ["id"],
|
|
144
|
+
"seed": [
|
|
145
|
+
{
|
|
146
|
+
"id": "Allianz",
|
|
147
|
+
"name": "Allianz",
|
|
148
|
+
"aliases": null
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "NationWide",
|
|
152
|
+
"name": "NationWide",
|
|
153
|
+
"aliases": "NW, Nation"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "Liberty Mutual",
|
|
157
|
+
"name": "Liberty Mutual",
|
|
158
|
+
"aliases": "Liberty"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "Participant",
|
|
164
|
+
"description": "",
|
|
165
|
+
"schema": "Participation",
|
|
166
|
+
"fields": [
|
|
167
|
+
{
|
|
168
|
+
"name": "name",
|
|
169
|
+
"type": "String",
|
|
170
|
+
"label": "Name",
|
|
171
|
+
"description": "The full name of the participant."
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "nameRemark",
|
|
175
|
+
"type": "String?",
|
|
176
|
+
"label": "NameRemark",
|
|
177
|
+
"description": "Additional remarks about the participant - mainly for disambiguation in case multiple similar participants exist."
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "shortName",
|
|
181
|
+
"type": "String",
|
|
182
|
+
"label": "ShortName",
|
|
183
|
+
"description": "The short name of the participant."
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"name": "oldExcelId",
|
|
187
|
+
"type": "Int?",
|
|
188
|
+
"label": "OldExcelId",
|
|
189
|
+
"description": "The integer ID used in the old Excel model."
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "collectionYear",
|
|
193
|
+
"type": "Int",
|
|
194
|
+
"label": "CollectionYear",
|
|
195
|
+
"description": "The year in which the participant's data was collected."
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "dataYear",
|
|
199
|
+
"type": "Int",
|
|
200
|
+
"label": "DataYear",
|
|
201
|
+
"description": "The year that the collected data refers to."
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "previousYearParticipantId",
|
|
205
|
+
"type": "Participant?",
|
|
206
|
+
"label": "Previous year participant",
|
|
207
|
+
"description": "The previous year's participant"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"name": "countryId",
|
|
211
|
+
"type": "Country",
|
|
212
|
+
"label": "CountryId"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "surveyId",
|
|
216
|
+
"type": "Survey",
|
|
217
|
+
"label": "SurveyId"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"name": "companyId",
|
|
221
|
+
"type": "Company",
|
|
222
|
+
"label": "CompanyId"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "productGroupId",
|
|
226
|
+
"type": "ProductGroup",
|
|
227
|
+
"label": "ProductGroupId",
|
|
228
|
+
"description": "The participant can be linked to a product group (e.g. Life, Annuities, Other) of a survey."
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "currentDataSetId",
|
|
232
|
+
"type": "DataSet?",
|
|
233
|
+
"label": "CurrentDataSetId"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "areOutliersRemoved",
|
|
237
|
+
"type": "Boolean",
|
|
238
|
+
"label": "AreOutliersRemoved",
|
|
239
|
+
"description": "Indicates if automatic outlier removal has already been performed for this participant."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "hasCustomColumnConfiguration",
|
|
243
|
+
"type": "Boolean",
|
|
244
|
+
"label": "HasCustomColumnConfiguration",
|
|
245
|
+
"description": "Indicates if the participant has custom column configurations. If false, the default column configuration is determined - which in turn depends if the participant has a pervious year entry and if custom peer groups are defined."
|
|
246
|
+
}
|
|
247
|
+
],
|
|
248
|
+
"standardFields": ["id"],
|
|
249
|
+
"seed": [
|
|
250
|
+
{
|
|
251
|
+
"id": "Allianz Life US 2021",
|
|
252
|
+
"name": "Allianz Life US 2021",
|
|
253
|
+
"nameRemark": "old",
|
|
254
|
+
"shortName": "Allianz Life",
|
|
255
|
+
"collectionYear": 2021,
|
|
256
|
+
"dataYear": 2020,
|
|
257
|
+
"countryId": "US",
|
|
258
|
+
"surveyId": "la2021",
|
|
259
|
+
"companyId": "Allianz",
|
|
260
|
+
"productGroupId": "Life",
|
|
261
|
+
"areOutliersRemoved": true,
|
|
262
|
+
"hasCustomColumnConfiguration": false
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"id": "NationWide Workforce Canada 2022",
|
|
266
|
+
"name": "NationWide Workforce Canada 2022",
|
|
267
|
+
"nameRemark": "Reinsurance",
|
|
268
|
+
"shortName": "NationWide Ann.",
|
|
269
|
+
"collectionYear": 2022,
|
|
270
|
+
"dataYear": 2021,
|
|
271
|
+
"countryId": "US",
|
|
272
|
+
"surveyId": "la2021",
|
|
273
|
+
"companyId": "NationWide",
|
|
274
|
+
"productGroupId": "Annuities",
|
|
275
|
+
"areOutliersRemoved": false,
|
|
276
|
+
"hasCustomColumnConfiguration": true
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "ProductGroup",
|
|
282
|
+
"description": "Larger benchmarks/surveys (e.g. L&A) can have multiple product groups (e.g. Life, Annuities, Other). Smaller benchmarks/surveys (e.g. Workforce Benefits) have only one product group. A product group is linked to a taxonomy using the productTaxonomyKey.",
|
|
283
|
+
"schema": "Configuration",
|
|
284
|
+
"fields": [
|
|
285
|
+
{
|
|
286
|
+
"name": "benchmarkId",
|
|
287
|
+
"type": "Benchmark",
|
|
288
|
+
"label": "BenchmarkId",
|
|
289
|
+
"description": "The benchmark this product group belongs to."
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "name",
|
|
293
|
+
"type": "String",
|
|
294
|
+
"label": "Name"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"name": "aliases",
|
|
298
|
+
"type": "String?",
|
|
299
|
+
"label": "Aliases",
|
|
300
|
+
"description": "Comma separated list of aliases for the product group."
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "shortName",
|
|
304
|
+
"type": "String",
|
|
305
|
+
"label": "ShortName",
|
|
306
|
+
"description": "Short name for the product group, for use in dense charts/tables."
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "productTaxonomyKey",
|
|
310
|
+
"type": "String?",
|
|
311
|
+
"label": "ProductTaxonomyKey",
|
|
312
|
+
"description": "The product taxonomy key - used to identify the product taxonomy for this product group."
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "slug",
|
|
316
|
+
"type": "String?",
|
|
317
|
+
"label": "Slug",
|
|
318
|
+
"description": "The slug is used for import mappings."
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "isSplitTarget",
|
|
322
|
+
"type": "Boolean",
|
|
323
|
+
"label": "IsSplitTarget",
|
|
324
|
+
"description": "Identifies if a product group is a target when automatically splitting a participant into multiple product groups. E.g. Life, Annuities, and A&H can be generated a splits - but \"Closed book\" cannot."
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "isRemainder",
|
|
328
|
+
"type": "Boolean",
|
|
329
|
+
"label": "IsRemainder",
|
|
330
|
+
"description": "The sum of all split target product groups for a dataset must be 100%. One of these product group should be marked as the remainder, which will be calculated automatically from the other target to total to 100%.\n\nIn case of L&A, values for Life and Annuities are specified, and A&H is the remainder."
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "isAll",
|
|
334
|
+
"type": "Boolean",
|
|
335
|
+
"label": "IsAll",
|
|
336
|
+
"description": "If true, this group will be used to show all participants of a survey."
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "introduced",
|
|
340
|
+
"type": "Int?",
|
|
341
|
+
"label": "Introduced",
|
|
342
|
+
"description": "The survey year in which this product group was introduced. If survey year is before this year, the product group is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"name": "deprecated",
|
|
346
|
+
"type": "Int?",
|
|
347
|
+
"label": "Deprecated",
|
|
348
|
+
"description": "The survey year in which this product group was deprecated. If survey year is after this year, the product group is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"standardFields": ["id"]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"name": "PeerGroup",
|
|
355
|
+
"description": "A peer group is a group of participants that are compared to each other.",
|
|
356
|
+
"schema": "Participation",
|
|
357
|
+
"fields": [
|
|
358
|
+
{
|
|
359
|
+
"name": "type",
|
|
360
|
+
"type": "PeerGroupType",
|
|
361
|
+
"label": "Type"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "participantId",
|
|
365
|
+
"type": "Participant?",
|
|
366
|
+
"label": "ParticipantId",
|
|
367
|
+
"description": "The participant that this peer group belongs to. Mandatory for ParticipantPeerGroup and AnnualCountryProductGroupLockedForParticipant, optional for AnnualCountryProductGroup."
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "productGroupId",
|
|
371
|
+
"type": "ProductGroup?",
|
|
372
|
+
"label": "ProductGroupId",
|
|
373
|
+
"description": "The product group this AnnualCountryProductGroup refers to."
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"name": "productGroupCountryId",
|
|
377
|
+
"type": "Country?",
|
|
378
|
+
"label": "ProductGroupCountryId",
|
|
379
|
+
"description": "The country this AnnualCountryProductGroup refers to."
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "productGroupCollectionYear",
|
|
383
|
+
"type": "Int?",
|
|
384
|
+
"label": "ProductGroupCollectionYear",
|
|
385
|
+
"description": "The year of this AnnualCountryProductGroup."
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "name",
|
|
389
|
+
"type": "String",
|
|
390
|
+
"label": "Name"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "order",
|
|
394
|
+
"type": "Int?",
|
|
395
|
+
"label": "Order",
|
|
396
|
+
"description": "In case a participant has multiple peer groups, this provides the priority order of the peer groups for any result presentations."
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"standardFields": ["id"]
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "PeerGroupPeer",
|
|
403
|
+
"description": "Linking peer participants to peer groups.",
|
|
404
|
+
"schema": "Participation",
|
|
405
|
+
"fields": [
|
|
406
|
+
{
|
|
407
|
+
"name": "peerGroupId",
|
|
408
|
+
"type": "PeerGroup",
|
|
409
|
+
"label": "PeerGroupId"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "peerParticipantId",
|
|
413
|
+
"type": "Participant",
|
|
414
|
+
"label": "PeerParticipantId",
|
|
415
|
+
"description": "A peer of the peer group."
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"name": "lockedDataSetId",
|
|
419
|
+
"type": "DataSet?",
|
|
420
|
+
"label": "LockedDataSetId",
|
|
421
|
+
"description": "In case the peer group is a 'ParticipantPeerGroup', this field locks a specific data set of the peer to be used for the calculation. This is to ensure that the peer group result is consistent over time."
|
|
422
|
+
}
|
|
423
|
+
],
|
|
424
|
+
"standardFields": ["id"],
|
|
425
|
+
"seed": []
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"name": "ExplicitPeer",
|
|
429
|
+
"description": "Explicit peers are other participants whose metrics are shown non-disguised/without aggregation. This should only be used for participants of the same company/group.\n\nNote: This is a basically a m:n relationship between participants and only spelled out explicitly here instead of relying on Prismas internal m:n relationship handling.",
|
|
430
|
+
"schema": "Participation",
|
|
431
|
+
"fields": [
|
|
432
|
+
{
|
|
433
|
+
"name": "surveyId",
|
|
434
|
+
"type": "Survey",
|
|
435
|
+
"label": "SurveyId"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"name": "participantId",
|
|
439
|
+
"type": "Participant",
|
|
440
|
+
"prismaRelationFieldName": "participant",
|
|
441
|
+
"label": "ParticipantId",
|
|
442
|
+
"description": "The participant that this peer belongs to."
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"name": "peerId",
|
|
446
|
+
"type": "Participant",
|
|
447
|
+
"prismaRelationFieldName": "peer",
|
|
448
|
+
"label": "PeerId",
|
|
449
|
+
"description": "The peer for of the participant."
|
|
450
|
+
}
|
|
451
|
+
],
|
|
452
|
+
"standardFields": ["id"],
|
|
453
|
+
"seed": []
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "Dimension",
|
|
457
|
+
"description": "A dimension is a root taxonomy that is assigned to a survey.\n See `Taxonomy` for more information.",
|
|
458
|
+
"schema": "Configuration",
|
|
459
|
+
"fields": [
|
|
460
|
+
{
|
|
461
|
+
"name": "benchmarkId",
|
|
462
|
+
"type": "Benchmark",
|
|
463
|
+
"label": "BenchmarkId",
|
|
464
|
+
"description": "The benchmark this dimension belongs to."
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "name",
|
|
468
|
+
"type": "String",
|
|
469
|
+
"label": "Name",
|
|
470
|
+
"description": "The name of the dimension."
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "type",
|
|
474
|
+
"type": "TaxonomyType",
|
|
475
|
+
"label": "Type",
|
|
476
|
+
"description": "The taxonomy type of the dimension."
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "introduced",
|
|
480
|
+
"type": "Int?",
|
|
481
|
+
"label": "Introduced",
|
|
482
|
+
"description": "The survey year in which this dimension was introduced. If survey year is before this year, the dimension is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "deprecated",
|
|
486
|
+
"type": "Int?",
|
|
487
|
+
"label": "Deprecated",
|
|
488
|
+
"description": "The survey year in which this dimension was deprecated. If survey year is after this year, the dimension is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "order",
|
|
492
|
+
"type": "Int",
|
|
493
|
+
"label": "Order",
|
|
494
|
+
"description": "The order of the dimension within an aggregation key."
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"name": "rootTaxonomyId",
|
|
498
|
+
"type": "Taxonomy?",
|
|
499
|
+
"label": "RootTaxonomyId",
|
|
500
|
+
"description": "The root taxonomy of the dimension, e.g. `Product` for the `Product` dimension.\n\nNote: This should be a required field - but due to ciruclar nature of `Taxonomy.dimension`->`Dimension.rootTaxonomy`->`Taxonomy`->`Dimension.rootTaxonomy` we need to make this optional, as else we can not seed the database with neither dimensions nor taxonomies."
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"standardFields": ["id"]
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "Taxonomy",
|
|
507
|
+
"description": "Taxonomy is a hierarchical structure that represents different dimensions that can be assigned to a value.\nFor instance, a value collected might be\n`Number of external FTEs in call centers that are working on Life Term products`.\nThis example value has three dimensions:\n 1. Indicator (FTEs (F) -> External (FE) )\n 2. Company Function (Operations (O) -> Call Center (OC))\n 3. Product: (Life (L) -> Term Life (LT))\nThe three dimensions are stored as `Dimension` - and each dimension as a root `Taxonomy`, e.g.\n `Product` dimension has `Product` (`P`) taxonomy.\nAs taxonomy is hierarchical, `Product` has multiple child-taxonomies:\n - `Life` (`L`)\n - `Term Life` (`T` -> `LT`)\n - `Whole` (`W` -> `LW`)\n - `Annuities` (`A`)\n\nEach taxonomy has a `levelKey` property - a single letter that must be unique within its siblings.\nConcatenated with the parent taxonomy's `key`, this results in a `key` that is unique\n(within the scope a of a survey), e.g. `PLT` is `Product` -> `Life` -> `Term`\n\nTaxonomies are used to \"taxate/categorize\" the survey questions/collected data points\nand to specify aggregations for metrics. (e.g. `Sum of Indicator FTE across Function Operations`)",
|
|
508
|
+
"schema": "Configuration",
|
|
509
|
+
"fields": [
|
|
510
|
+
{
|
|
511
|
+
"name": "parentId",
|
|
512
|
+
"type": "Taxonomy?",
|
|
513
|
+
"label": "ParentId",
|
|
514
|
+
"description": "The parent taxonomy of this taxonomy.\nCan be blank for root taxonomies."
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"name": "dimensionId",
|
|
518
|
+
"type": "Dimension",
|
|
519
|
+
"label": "DimensionId",
|
|
520
|
+
"description": "The dimension this taxonomy belongs to."
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"name": "benchmarkId",
|
|
524
|
+
"type": "Benchmark",
|
|
525
|
+
"label": "BenchmarkId",
|
|
526
|
+
"description": "The benchmark this taxonomy belongs to."
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"name": "levelKey",
|
|
530
|
+
"type": "String",
|
|
531
|
+
"label": "LevelKey",
|
|
532
|
+
"description": "The single character key of the taxonomy item. Configured by the user."
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "key",
|
|
536
|
+
"type": "String",
|
|
537
|
+
"label": "Key",
|
|
538
|
+
"description": "The combined key of `parent.key` + `levelKey`. Should be auto-calculated."
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"name": "levelOrder",
|
|
542
|
+
"type": "Int?",
|
|
543
|
+
"label": "LevelOrder",
|
|
544
|
+
"description": "The order of the taxonomy within its siblings."
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"name": "level",
|
|
548
|
+
"type": "Int",
|
|
549
|
+
"label": "Level",
|
|
550
|
+
"description": "Field stored in DB for ease of processing/calculation."
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"name": "name",
|
|
554
|
+
"type": "String",
|
|
555
|
+
"label": "Name",
|
|
556
|
+
"description": "The name of the taxonomy."
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "synonyms",
|
|
560
|
+
"type": "String",
|
|
561
|
+
"label": "Synonyms",
|
|
562
|
+
"description": "A taxonomy can have multiple synonyms. This can include slightly different spellings, abbreviations used.\nThis is mainly used to map the questions in the survey templates."
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"name": "description",
|
|
566
|
+
"type": "String?",
|
|
567
|
+
"label": "Description",
|
|
568
|
+
"description": "Should contain client-ready documentation for this taxonomy."
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"name": "notes",
|
|
572
|
+
"type": "String?",
|
|
573
|
+
"label": "Notes",
|
|
574
|
+
"description": "For team internal comments/notes"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"name": "type",
|
|
578
|
+
"type": "TaxonomyType",
|
|
579
|
+
"label": "Type",
|
|
580
|
+
"description": "To discriminate between different types of taxonomies.\nDepending on the type, different properties are relevant."
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"name": "introduced",
|
|
584
|
+
"type": "Int?",
|
|
585
|
+
"label": "Introduced",
|
|
586
|
+
"description": "The survey year in which this taxonomy was introduced. If survey year is before this year, the taxonomy is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "deprecated",
|
|
590
|
+
"type": "Int?",
|
|
591
|
+
"label": "Deprecated",
|
|
592
|
+
"description": "The survey year in which this taxonomy was deprecated. If survey year is after this year, the taxonomy is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"name": "indicatorSplitByProduct",
|
|
596
|
+
"type": "Boolean",
|
|
597
|
+
"label": "IndicatorSplitByProduct",
|
|
598
|
+
"description": "Relevant for export in data splitter tool: if set to TRUE, the data will be split based on the product group split,\nelse will be used without modification. E.g. costs will be split by product group, while average time to answer calls will not be split."
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"name": "indicatorExportProductOnly",
|
|
602
|
+
"type": "String?",
|
|
603
|
+
"label": "IndicatorExportProductOnly",
|
|
604
|
+
"description": "Relevant for export in data splitter tool: if `indicatorSplitByProduct` is set to TRUE, this property indicates which product group this indicator belongs to. If set, the indicator will be exported if the product group to be exported matches - else it will be left blank.\n If it is not set, the normal product split logic will apply.\n\nNote: `X` is used as placeholder for all products and is equivalent to NULL."
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"name": "indicatorUnit",
|
|
608
|
+
"type": "String?",
|
|
609
|
+
"label": "IndicatorUnit",
|
|
610
|
+
"description": "Defines the unit of the indicator."
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"name": "indicatorIsRatio",
|
|
614
|
+
"type": "Boolean",
|
|
615
|
+
"label": "IndicatorIsRatio",
|
|
616
|
+
"description": "Indicates if the indicator is a ratio (e.g. 50%) or a number (e.g. 5,000).\n**Note:** If it is a ratio, it cannot be aggregated by summing up the values!"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"name": "indicatorOnlyIndicatorAggregation",
|
|
620
|
+
"type": "Boolean",
|
|
621
|
+
"label": "IndicatorOnlyIndicatorAggregation",
|
|
622
|
+
"description": "Indicates that this indicator should only be aggregated across the indicator dimension, not others. E.g. for Turnaround Time (KT), you want to add the waiting time + processing time - but you do not want to add this across product types."
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"name": "indicatorAdjustmentFactor",
|
|
626
|
+
"type": "Float?",
|
|
627
|
+
"label": "IndicatorAdjustmentFactor",
|
|
628
|
+
"description": "The factor by which any value should be adjusted before being aggregated.\nCurrently only used for indicator `Annualized New Business Premium: Single Premium (KPAS)`, where the value provided by the participant covers 10 years, so the value is factored with 0.1 before being aggregated. "
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"name": "indicatorUseIndicatorGroup",
|
|
632
|
+
"type": "Boolean",
|
|
633
|
+
"label": "IndicatorUseIndicatorGroup",
|
|
634
|
+
"description": "An indicator marked as `true` flags that the aggregation should use a group of indicators instead of a single indicator. If an aggregation uses this indicator, we will use the first TaxonomyGroup where the dimension is of type `Indicator` to determine all indicators taxonomies."
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"name": "functionSection",
|
|
638
|
+
"type": "String?",
|
|
639
|
+
"label": "FunctionSection",
|
|
640
|
+
"description": "The survey is split into worksheets and sections that broadly correspond to functions.\nThis property reflects this mapping and can be used for reference."
|
|
641
|
+
}
|
|
642
|
+
],
|
|
643
|
+
"standardFields": ["id"]
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"name": "TaxonomyGroup",
|
|
647
|
+
"description": "A taxonomy group is a grouping of taxonomies. It is meant to reflect groupings that do not fit directly in the hierarchical tree structure of `Taxonomy`.\nE.g. say different functions all have a \"Support\" function as a child-taxonomy - a \"Support Functions\" taxonomy group could group these and allow to define specific aggregations.",
|
|
648
|
+
"schema": "Configuration",
|
|
649
|
+
"fields": [
|
|
650
|
+
{
|
|
651
|
+
"name": "name",
|
|
652
|
+
"type": "String",
|
|
653
|
+
"label": "Name",
|
|
654
|
+
"description": "The name of this group."
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"name": "key",
|
|
658
|
+
"type": "String",
|
|
659
|
+
"label": "Key",
|
|
660
|
+
"description": "The key of this group"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"name": "benchmarkId",
|
|
664
|
+
"type": "Benchmark",
|
|
665
|
+
"label": "BenchmarkId",
|
|
666
|
+
"description": "The benchmark the taxonomy group belongs to."
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "dimensionId",
|
|
670
|
+
"type": "Dimension",
|
|
671
|
+
"label": "DimensionId",
|
|
672
|
+
"description": "The dimension this taxonomy group belongs to."
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"name": "excelCol",
|
|
676
|
+
"type": "Int?",
|
|
677
|
+
"label": "ExcelCol",
|
|
678
|
+
"description": "Used for Excel import/export - each taxonomy group is reflected as a separate column in the taxonomy tables."
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"name": "introduced",
|
|
682
|
+
"type": "Int?",
|
|
683
|
+
"label": "Introduced",
|
|
684
|
+
"description": "The survey year in which this taxonomy group was introduced. If survey year is before this year, the taxonomy group is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"name": "deprecated",
|
|
688
|
+
"type": "Int?",
|
|
689
|
+
"label": "Deprecated",
|
|
690
|
+
"description": "The survey year in which this taxonomy group was deprecated. If survey year is after this year, the taxonomy group is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"standardFields": ["id"]
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"name": "TaxonomyGroupTaxonomy",
|
|
697
|
+
"description": "The many-to-many relationship between `TaxonomyGroup` and `Taxonomy`.",
|
|
698
|
+
"schema": "Configuration",
|
|
699
|
+
"fields": [
|
|
700
|
+
{
|
|
701
|
+
"name": "taxonomyGroupId",
|
|
702
|
+
"type": "TaxonomyGroup",
|
|
703
|
+
"label": "TaxonomyGroupId"
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"name": "taxonomyId",
|
|
707
|
+
"type": "Taxonomy",
|
|
708
|
+
"label": "TaxonomyId"
|
|
709
|
+
}
|
|
710
|
+
],
|
|
711
|
+
"standardFields": ["id"],
|
|
712
|
+
"seed": []
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
"name": "Metric",
|
|
716
|
+
"description": "A metric is the definition of a KPI. It consists of a numerator and an optional denominator aggregation.\nIt is the basis for the benchmarking: for each participant, all survey metrics are calculated and compared across the peer groups.",
|
|
717
|
+
"schema": "Configuration",
|
|
718
|
+
"fields": [
|
|
719
|
+
{
|
|
720
|
+
"name": "benchmarkId",
|
|
721
|
+
"type": "Benchmark",
|
|
722
|
+
"label": "BenchmarkId"
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"name": "name",
|
|
726
|
+
"type": "String",
|
|
727
|
+
"label": "Name",
|
|
728
|
+
"description": "The name of the metric."
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"name": "key",
|
|
732
|
+
"type": "String?",
|
|
733
|
+
"label": "Key",
|
|
734
|
+
"description": "The shorthand key for the metric.\nThe format is `N/D` where `N` is the numerator's aggregation key and `D` is the denominator's aggregation key.\n\nSee `Aggregation` for more information."
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"name": "oldExcelId",
|
|
738
|
+
"type": "Int?",
|
|
739
|
+
"label": "OldExcelId",
|
|
740
|
+
"description": "The integer ID used in the old Excel model."
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"name": "oldExcelKey",
|
|
744
|
+
"type": "String?",
|
|
745
|
+
"label": "OldExcelKey",
|
|
746
|
+
"description": "The old Excel metric key used in the old Excel model."
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "section",
|
|
750
|
+
"type": "String?",
|
|
751
|
+
"label": "Section",
|
|
752
|
+
"description": "Metrics are optionally categorized into sections and subsections. This property reflects the section."
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "subsection",
|
|
756
|
+
"type": "String?",
|
|
757
|
+
"label": "Subsection",
|
|
758
|
+
"description": "Metrics are optionally categorized into sections and subsections. This property reflects the subsection."
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"name": "remarks",
|
|
762
|
+
"type": "String?",
|
|
763
|
+
"label": "Remarks",
|
|
764
|
+
"description": "Team-internal remarks for the metric."
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"name": "numeratorId",
|
|
768
|
+
"type": "Aggregation",
|
|
769
|
+
"prismaRelationFieldName": "numerator",
|
|
770
|
+
"label": "NumeratorId",
|
|
771
|
+
"description": "The numerator for the metric."
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"name": "denominatorId",
|
|
775
|
+
"type": "Aggregation?",
|
|
776
|
+
"prismaRelationFieldName": "denominator",
|
|
777
|
+
"label": "DenominatorId",
|
|
778
|
+
"description": "The optional denominator for the metric."
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"name": "numberFormatId",
|
|
782
|
+
"type": "NumberFormat",
|
|
783
|
+
"label": "NumberFormatId"
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
"name": "multiplicationFactor",
|
|
787
|
+
"type": "Float?",
|
|
788
|
+
"label": "MultiplicationFactor",
|
|
789
|
+
"description": "TBD"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "isHigherBetter",
|
|
793
|
+
"type": "Boolean",
|
|
794
|
+
"label": "IsHigherBetter",
|
|
795
|
+
"description": "By default, lower metric values are assumed to be better, e.g. for expenses.\nIf this property is set to `true`, this logic is inverted, e.g. for customer satisfaction."
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"name": "validationMinimum",
|
|
799
|
+
"type": "Float?",
|
|
800
|
+
"label": "ValidationMinimum",
|
|
801
|
+
"description": "Sets the lower boundary for the metric value.\nIf the metric value is below this boundary, it will be set to the provided minimum value."
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"name": "validationMaximum",
|
|
805
|
+
"type": "Float?",
|
|
806
|
+
"label": "ValidationMaximum",
|
|
807
|
+
"description": "Sets the upper boundary for the metric value.\nIf the metric value is above this boundary, it will be set to the provided maximum value."
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"name": "defaultValue",
|
|
811
|
+
"type": "Float?",
|
|
812
|
+
"label": "DefaultValue",
|
|
813
|
+
"description": "IF the metric cannot be calculated, it will be set to this value."
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "ignoreInOutlierRemoval",
|
|
817
|
+
"type": "Boolean",
|
|
818
|
+
"label": "IgnoreInOutlierRemoval",
|
|
819
|
+
"description": "During automatic outlier removal, metrics where this field is set to `true` will be ignored."
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"name": "descriptionIDPMetric",
|
|
823
|
+
"type": "String?",
|
|
824
|
+
"label": "DescriptionIDPMetric",
|
|
825
|
+
"description": "Description for the IDP export.",
|
|
826
|
+
"databaseName": "description_IDPMetric"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "order",
|
|
830
|
+
"type": "Float",
|
|
831
|
+
"label": "Order",
|
|
832
|
+
"description": "The order of the metric for a specific survey."
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "introduced",
|
|
836
|
+
"type": "Int?",
|
|
837
|
+
"label": "Introduced",
|
|
838
|
+
"description": "The survey year in which this metric was introduced. If survey year is before this year, the metric is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"name": "deprecated",
|
|
842
|
+
"type": "Int?",
|
|
843
|
+
"label": "Deprecated",
|
|
844
|
+
"description": "The survey year in which this metric was deprecated. If survey year is after this year, the metric is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
845
|
+
}
|
|
846
|
+
],
|
|
847
|
+
"standardFields": ["id"]
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"name": "NumberFormat",
|
|
851
|
+
"description": "A number format is used to format metrics.",
|
|
852
|
+
"schema": "Configuration",
|
|
853
|
+
"fields": [
|
|
854
|
+
{
|
|
855
|
+
"name": "name",
|
|
856
|
+
"type": "String",
|
|
857
|
+
"label": "Name",
|
|
858
|
+
"description": "The name of the number format."
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"name": "excelFormat",
|
|
862
|
+
"type": "String",
|
|
863
|
+
"label": "ExcelFormat",
|
|
864
|
+
"description": "The Excel format string for the number format."
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"name": "minimumFractionDigits",
|
|
868
|
+
"type": "Int",
|
|
869
|
+
"label": "MinimumFractionDigits"
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"name": "maximumFractionDigits",
|
|
873
|
+
"type": "Int",
|
|
874
|
+
"label": "MaximumFractionDigits"
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"name": "useGrouping",
|
|
878
|
+
"type": "Boolean",
|
|
879
|
+
"label": "UseGrouping"
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"name": "style",
|
|
883
|
+
"type": "NumberFormatStyle",
|
|
884
|
+
"label": "Style"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"name": "suffix",
|
|
888
|
+
"type": "String?",
|
|
889
|
+
"label": "Suffix"
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"name": "prefix",
|
|
893
|
+
"type": "String?",
|
|
894
|
+
"label": "Prefix"
|
|
895
|
+
}
|
|
896
|
+
],
|
|
897
|
+
"standardFields": ["id"],
|
|
898
|
+
"seed": [
|
|
899
|
+
{
|
|
900
|
+
"id": "Format_#",
|
|
901
|
+
"name": "#",
|
|
902
|
+
"excelFormat": "#,##0",
|
|
903
|
+
"minimumFractionDigits": 0,
|
|
904
|
+
"maximumFractionDigits": 0,
|
|
905
|
+
"useGrouping": true,
|
|
906
|
+
"style": "decimal",
|
|
907
|
+
"suffix": null,
|
|
908
|
+
"prefix": null
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"id": "Format_$",
|
|
912
|
+
"name": "$",
|
|
913
|
+
"excelFormat": "$ #,##0",
|
|
914
|
+
"minimumFractionDigits": 0,
|
|
915
|
+
"maximumFractionDigits": 0,
|
|
916
|
+
"useGrouping": true,
|
|
917
|
+
"style": "decimal",
|
|
918
|
+
"suffix": null,
|
|
919
|
+
"prefix": "$"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"id": "Format_BPS",
|
|
923
|
+
"name": "BPS",
|
|
924
|
+
"excelFormat": "#,##0\" bps\"",
|
|
925
|
+
"minimumFractionDigits": 0,
|
|
926
|
+
"maximumFractionDigits": 0,
|
|
927
|
+
"useGrouping": true,
|
|
928
|
+
"style": "decimal",
|
|
929
|
+
"suffix": " bps",
|
|
930
|
+
"prefix": null
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"id": "Format_One decimal (1.2)",
|
|
934
|
+
"name": "One decimal (1.2)",
|
|
935
|
+
"excelFormat": "#,##0.0",
|
|
936
|
+
"minimumFractionDigits": 1,
|
|
937
|
+
"maximumFractionDigits": 1,
|
|
938
|
+
"useGrouping": true,
|
|
939
|
+
"style": "decimal",
|
|
940
|
+
"suffix": null,
|
|
941
|
+
"prefix": null
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"id": "Format_Percentage0 (1%)",
|
|
945
|
+
"name": "Percentage0 (1%)",
|
|
946
|
+
"excelFormat": "0%",
|
|
947
|
+
"minimumFractionDigits": 0,
|
|
948
|
+
"maximumFractionDigits": 0,
|
|
949
|
+
"useGrouping": false,
|
|
950
|
+
"style": "percent",
|
|
951
|
+
"suffix": null,
|
|
952
|
+
"prefix": null
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"id": "Format_Percentage1 (1.2%)",
|
|
956
|
+
"name": "Percentage1 (1.2%)",
|
|
957
|
+
"excelFormat": "0.0%",
|
|
958
|
+
"minimumFractionDigits": 1,
|
|
959
|
+
"maximumFractionDigits": 1,
|
|
960
|
+
"useGrouping": false,
|
|
961
|
+
"style": "percent",
|
|
962
|
+
"suffix": null,
|
|
963
|
+
"prefix": null
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"id": "Format_Percentage2 (1.23%)",
|
|
967
|
+
"name": "Percentage2 (1.23%)",
|
|
968
|
+
"excelFormat": "0.00%",
|
|
969
|
+
"minimumFractionDigits": 2,
|
|
970
|
+
"maximumFractionDigits": 2,
|
|
971
|
+
"useGrouping": false,
|
|
972
|
+
"style": "percent",
|
|
973
|
+
"suffix": null,
|
|
974
|
+
"prefix": null
|
|
975
|
+
}
|
|
976
|
+
]
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"name": "Aggregation",
|
|
980
|
+
"description": "An aggregation is a combination of an indicator taxonomy and an optional set of taxonomy (and taxonomy group) filters.\nIt is used to define the numerator and denominator of a metric.",
|
|
981
|
+
"schema": "Configuration",
|
|
982
|
+
"fields": [
|
|
983
|
+
{
|
|
984
|
+
"name": "name",
|
|
985
|
+
"type": "String",
|
|
986
|
+
"label": "Name"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"name": "benchmarkId",
|
|
990
|
+
"type": "Benchmark",
|
|
991
|
+
"label": "BenchmarkId",
|
|
992
|
+
"description": "The benchmark the aggregation belongs to."
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
"name": "key",
|
|
996
|
+
"type": "String",
|
|
997
|
+
"label": "Key",
|
|
998
|
+
"description": "A short-hand key for the aggregation.\nThe format is `I(F)*`, where I is the indicator taxonomy key - and `F` describes the (optional) filter. The filter is a comma-separated list of taxonomy keys and group keys.\nGroup keys start with `G`. The optional `*` denotes that alternative split should be used.\n\nExample: `E(PL,FO)` refers to the `Expenses` (E) filtered by product `Life` (PL) and function `Operations` (FO)."
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"name": "useAlternativeSplit",
|
|
1002
|
+
"type": "Boolean",
|
|
1003
|
+
"label": "UseAlternativeSplit",
|
|
1004
|
+
"description": "Some indicators (e.g. `Expenses`) are split along multiple dimensions (e.g. `Product` and `Channel`).\nIf the values would be aggregated, they would be double-counted. Hence, survey questions for the second split are marked as `AlternativeSplit` and by default are not included in the aggregation.\n\nThis property allows to use the alternative split instead of the default split."
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"name": "isForProductSplit",
|
|
1008
|
+
"type": "Boolean",
|
|
1009
|
+
"label": "IsForProductSplit",
|
|
1010
|
+
"description": "TBD - Not clear what this is for"
|
|
1011
|
+
},
|
|
1012
|
+
{
|
|
1013
|
+
"name": "indicatorTaxonomyId",
|
|
1014
|
+
"type": "Taxonomy",
|
|
1015
|
+
"label": "IndicatorTaxonomyId"
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"name": "introduced",
|
|
1019
|
+
"type": "Int?",
|
|
1020
|
+
"label": "Introduced",
|
|
1021
|
+
"description": "The survey year in which this aggregation was introduced. If survey year is before this year, the aggregation is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"name": "deprecated",
|
|
1025
|
+
"type": "Int?",
|
|
1026
|
+
"label": "Deprecated",
|
|
1027
|
+
"description": "The survey year in which this aggregation was deprecated. If survey year is after this year, the aggregation is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
1028
|
+
}
|
|
1029
|
+
],
|
|
1030
|
+
"standardFields": ["id"]
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"name": "AggregationTaxonomy",
|
|
1034
|
+
"description": "m:n relation between aggregations and taxonomies.",
|
|
1035
|
+
"schema": "Configuration",
|
|
1036
|
+
"fields": [
|
|
1037
|
+
{
|
|
1038
|
+
"name": "aggregationId",
|
|
1039
|
+
"type": "Aggregation",
|
|
1040
|
+
"label": "AggregationId"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"name": "taxonomyId",
|
|
1044
|
+
"type": "Taxonomy",
|
|
1045
|
+
"label": "TaxonomyId"
|
|
1046
|
+
}
|
|
1047
|
+
],
|
|
1048
|
+
"standardFields": ["id"],
|
|
1049
|
+
"seed": []
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"name": "AggregationTaxonomyGroup",
|
|
1053
|
+
"description": "m:n relation between aggregations and taxonomy groups.",
|
|
1054
|
+
"schema": "Configuration",
|
|
1055
|
+
"fields": [
|
|
1056
|
+
{
|
|
1057
|
+
"name": "aggregationId",
|
|
1058
|
+
"type": "Aggregation",
|
|
1059
|
+
"label": "AggregationId"
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"name": "taxonomyGroupId",
|
|
1063
|
+
"type": "TaxonomyGroup",
|
|
1064
|
+
"label": "TaxonomyGroupId"
|
|
1065
|
+
}
|
|
1066
|
+
],
|
|
1067
|
+
"standardFields": ["id"],
|
|
1068
|
+
"seed": []
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
"name": "ChartType",
|
|
1072
|
+
"description": "Definitions of the different types of PowerPoint charts.",
|
|
1073
|
+
"schema": "Configuration",
|
|
1074
|
+
"fields": [
|
|
1075
|
+
{
|
|
1076
|
+
"name": "name",
|
|
1077
|
+
"type": "String",
|
|
1078
|
+
"label": "Name",
|
|
1079
|
+
"description": "The name of the PowerPoint chart type."
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"name": "description",
|
|
1083
|
+
"type": "String",
|
|
1084
|
+
"label": "Description",
|
|
1085
|
+
"description": "Description of the chart type."
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"name": "numberOfConfigurableColumns",
|
|
1089
|
+
"type": "Int",
|
|
1090
|
+
"label": "NumberOfConfigurableColumns",
|
|
1091
|
+
"description": "The number of columns that can be configured for this chart type."
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"name": "thumbnail",
|
|
1095
|
+
"type": "String?",
|
|
1096
|
+
"label": "Thumbnail",
|
|
1097
|
+
"description": "Thumbnail image of the chart type."
|
|
1098
|
+
}
|
|
1099
|
+
],
|
|
1100
|
+
"standardFields": ["id"],
|
|
1101
|
+
"seed": [
|
|
1102
|
+
{
|
|
1103
|
+
"id": "Column chart",
|
|
1104
|
+
"name": "Column chart",
|
|
1105
|
+
"description": "A bar chart with 5 columns",
|
|
1106
|
+
"numberOfConfigurableColumns": 5,
|
|
1107
|
+
"thumbnail": "/thumbs/column-chart.png"
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
"id": "Executive Summary",
|
|
1111
|
+
"name": "Executive Summary",
|
|
1112
|
+
"description": "Executive summary overview for participant",
|
|
1113
|
+
"numberOfConfigurableColumns": 3,
|
|
1114
|
+
"thumbnail": null
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"id": "Summary",
|
|
1118
|
+
"name": "Summary",
|
|
1119
|
+
"description": "Summary statistics for a participant and the peer group",
|
|
1120
|
+
"numberOfConfigurableColumns": 4,
|
|
1121
|
+
"thumbnail": "/thumbs/summary.png"
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
"id": "Cost Opportunity",
|
|
1125
|
+
"name": "Cost Opportunity",
|
|
1126
|
+
"description": "Complex chart showing cost baseline and cost opportunity compared to selected peer group.",
|
|
1127
|
+
"numberOfConfigurableColumns": 2,
|
|
1128
|
+
"thumbnail": "/thumbs/cost-opportunity.png"
|
|
1129
|
+
}
|
|
1130
|
+
]
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"name": "ColumnConfiguration",
|
|
1134
|
+
"description": "",
|
|
1135
|
+
"schema": "Participation",
|
|
1136
|
+
"fields": [
|
|
1137
|
+
{
|
|
1138
|
+
"name": "participantId",
|
|
1139
|
+
"type": "Participant",
|
|
1140
|
+
"label": "ParticipantId"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"name": "chartTypeId",
|
|
1144
|
+
"type": "ChartType",
|
|
1145
|
+
"label": "ChartTypeId"
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"name": "columnIndex",
|
|
1149
|
+
"type": "Int",
|
|
1150
|
+
"label": "ColumnIndex",
|
|
1151
|
+
"description": "The index of the column to be configured.\nValues exceeding `ChartType.numberOfConfigurableColumns` will be ignored.\n The first column has index 1."
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"name": "hasCustomNames",
|
|
1155
|
+
"type": "Boolean",
|
|
1156
|
+
"label": "HasCustomNames",
|
|
1157
|
+
"description": "If true, the name and customShortName have been customized. If false, default name logic based on column type and summary statistic will be used."
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"name": "name",
|
|
1161
|
+
"type": "String",
|
|
1162
|
+
"label": "Name",
|
|
1163
|
+
"description": "The name of the column if space is not limited. By default, the name will be derived based on the type/peer group. With this setting, it can be customized for the participant. If it is blank/empty, the default name will be used."
|
|
1164
|
+
},
|
|
1165
|
+
{
|
|
1166
|
+
"name": "customShortName",
|
|
1167
|
+
"type": "String?",
|
|
1168
|
+
"label": "CustomShortName",
|
|
1169
|
+
"description": "The name of the column if space is limited. By default, the name will be derived based on the type/peer group. With this setting, it can be customized for the participant."
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "columnType",
|
|
1173
|
+
"type": "ColumnType",
|
|
1174
|
+
"label": "ColumnType",
|
|
1175
|
+
"description": "The type of the column."
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"name": "summaryStatistic",
|
|
1179
|
+
"type": "SummaryStatistic?",
|
|
1180
|
+
"label": "SummaryStatistic",
|
|
1181
|
+
"description": "The summary statistic to be used. Only relevant for `PeerGroup` and `ProductGroup`."
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"name": "previousYearParticipantId",
|
|
1185
|
+
"type": "Participant?",
|
|
1186
|
+
"prismaRelationFieldName": "previousYearParticipant",
|
|
1187
|
+
"label": "PreviousYearParticipantId",
|
|
1188
|
+
"description": "The previous year participant to be used. Only relevant for column type `PreviousYearParticipant`."
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"name": "peerGroupId",
|
|
1192
|
+
"type": "PeerGroup?",
|
|
1193
|
+
"label": "PeerGroupId",
|
|
1194
|
+
"description": "The peer group to be used. Only relevant for column type `PeerGroup`."
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "productGroupId",
|
|
1198
|
+
"type": "ProductGroup?",
|
|
1199
|
+
"label": "ProductGroupId",
|
|
1200
|
+
"description": "The product group to be used. Only relevant for column type `ProductGroup`."
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"name": "directPeerId",
|
|
1204
|
+
"type": "Participant?",
|
|
1205
|
+
"prismaRelationFieldName": "directPeer",
|
|
1206
|
+
"label": "DirectPeerId"
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
"standardFields": ["id"]
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"name": "Question",
|
|
1213
|
+
"description": "A question that is part of a survey. Typically represented as a cell in the survey template",
|
|
1214
|
+
"schema": "Configuration",
|
|
1215
|
+
"fields": [
|
|
1216
|
+
{
|
|
1217
|
+
"name": "surveyId",
|
|
1218
|
+
"type": "Survey",
|
|
1219
|
+
"label": "SurveyId",
|
|
1220
|
+
"description": "The survey this question belongs to."
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
"name": "key",
|
|
1224
|
+
"type": "String?",
|
|
1225
|
+
"label": "Key",
|
|
1226
|
+
"description": "A short-hand key for the question.\nThe format is `I(F)*`, where I is the indicator taxonomy key - and `F` describes the (optional) filter. The filter is a comma-separated list of taxonomy keys and group keys.\nGroup keys start with `G`. \n\nExample: `EDO(PLT,FO)` refers to the `Expenses - Direct - Other` (E) for product `Life - Term` (PLT) and function `Operations` (FO)."
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"name": "isInput",
|
|
1230
|
+
"type": "Boolean",
|
|
1231
|
+
"label": "IsInput",
|
|
1232
|
+
"description": "If true, data can be entered. Else it is a calculated value, e.g. the sum of other questions."
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"name": "isDuplicate",
|
|
1236
|
+
"type": "Boolean",
|
|
1237
|
+
"label": "IsDuplicate",
|
|
1238
|
+
"description": "Exact combination exists somewhere else"
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"name": "isDuplicateSplit",
|
|
1242
|
+
"type": "Boolean",
|
|
1243
|
+
"label": "IsDuplicateSplit",
|
|
1244
|
+
"description": "The number already is subsumed in another total and should hence not be counted into the total - but it is a separate split and hence may be relevant.\n\nE.g. we may collect \"Marketing Expenses By Product\" where expneses are split by product. But we also collect \"Marketing Expenses By Channel\" where expenses are split by channel. Both section's respective totals will be equal and hence the marketing expenses should only be counted once.\nWith this flag, we mark all but the first split as duplicates and ignore them in the aggregation by default.\n\nTBD: Potentially better to mark different splits with unique ids so that they can be referenced in an aggregation directly."
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"name": "isText",
|
|
1248
|
+
"type": "Boolean",
|
|
1249
|
+
"label": "IsText",
|
|
1250
|
+
"description": "The cell's content is not a number but text."
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"name": "productSplitSectionId",
|
|
1254
|
+
"type": "ProductSplitSection?",
|
|
1255
|
+
"label": "ProductSplitSectionId",
|
|
1256
|
+
"description": "The product split section that should be applied to this question."
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"name": "productGroupId",
|
|
1260
|
+
"type": "ProductGroup?",
|
|
1261
|
+
"label": "ProductGroupId",
|
|
1262
|
+
"description": "The product group that should be applied to this question."
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"name": "indicatorTaxonomyId",
|
|
1266
|
+
"type": "Taxonomy",
|
|
1267
|
+
"label": "IndicatorTaxonomyId",
|
|
1268
|
+
"description": "Each question belongs to a taxonomy. This is the taxonomy of the indicator."
|
|
1269
|
+
}
|
|
1270
|
+
],
|
|
1271
|
+
"standardFields": ["id"]
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"name": "QuestionTaxonomy",
|
|
1275
|
+
"description": "Assignment of additional taxonomies to a question. Each question has one indicator taxonomy (e.g. Expenses or FTE) - and can have multiple additional taxonomies (e.g. product, channel, function). The indicator taxonomy is represented as a relation directly in Question. The additional taxonomy assignments are represented with this relationship.",
|
|
1276
|
+
"schema": "Configuration",
|
|
1277
|
+
"fields": [
|
|
1278
|
+
{
|
|
1279
|
+
"name": "questionId",
|
|
1280
|
+
"type": "Question",
|
|
1281
|
+
"label": "QuestionId"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"name": "taxonomyId",
|
|
1285
|
+
"type": "Taxonomy",
|
|
1286
|
+
"label": "TaxonomyId"
|
|
1287
|
+
}
|
|
1288
|
+
],
|
|
1289
|
+
"standardFields": ["id"],
|
|
1290
|
+
"seed": []
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"name": "ExcelSurveyTemplate",
|
|
1294
|
+
"description": "An Excel template that is distributed to participants to collect survey data. As the template can evolve over time, a survey can have multiple templates.",
|
|
1295
|
+
"schema": "Configuration",
|
|
1296
|
+
"fields": [
|
|
1297
|
+
{
|
|
1298
|
+
"name": "name",
|
|
1299
|
+
"type": "String",
|
|
1300
|
+
"label": "Name",
|
|
1301
|
+
"description": "The name of the template."
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
"name": "slug",
|
|
1305
|
+
"type": "String?",
|
|
1306
|
+
"label": "Slug",
|
|
1307
|
+
"description": "A compact, human-readable identifier. Intended to be used in code to implement slug specific logic, e.g. to identify the template to be used or to implement exceptions."
|
|
1308
|
+
},
|
|
1309
|
+
{
|
|
1310
|
+
"name": "surveyId",
|
|
1311
|
+
"type": "Survey",
|
|
1312
|
+
"label": "SurveyId",
|
|
1313
|
+
"description": "The survey this template belongs to."
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"name": "templateIdCell",
|
|
1317
|
+
"type": "String?",
|
|
1318
|
+
"label": "TemplateIdCell",
|
|
1319
|
+
"description": "A reference to a cell in the template to identify the template."
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"name": "templateIdentifier",
|
|
1323
|
+
"type": "String?",
|
|
1324
|
+
"label": "TemplateIdentifier",
|
|
1325
|
+
"description": "The expected value of benchmarkCell. If the cell has this value, the we assume the the file is from this template."
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
"name": "companyCell",
|
|
1329
|
+
"type": "String?",
|
|
1330
|
+
"label": "CompanyCell",
|
|
1331
|
+
"description": "A reference to a cell in the template to identify the company."
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"name": "coordinator1NameCell",
|
|
1335
|
+
"type": "String?",
|
|
1336
|
+
"label": "Coordinator1NameCell",
|
|
1337
|
+
"description": "A reference to a cell in the template to identify the name of the first coordinator."
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
"name": "coordinator1EmailCell",
|
|
1341
|
+
"type": "String?",
|
|
1342
|
+
"label": "Coordinator1EmailCell",
|
|
1343
|
+
"description": "A reference to a cell in the template to identify the email of the first coordinator."
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"name": "coordinator1PhoneCell",
|
|
1347
|
+
"type": "String?",
|
|
1348
|
+
"label": "Coordinator1PhoneCell",
|
|
1349
|
+
"description": "A reference to a cell in the template to identify the phone of the first coordinator."
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"name": "coordinator2NameCell",
|
|
1353
|
+
"type": "String?",
|
|
1354
|
+
"label": "Coordinator2NameCell",
|
|
1355
|
+
"description": "A reference to a cell in the template to identify the name of the second coordinator."
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"name": "coordinator2EmailCell",
|
|
1359
|
+
"type": "String?",
|
|
1360
|
+
"label": "Coordinator2EmailCell",
|
|
1361
|
+
"description": "A reference to a cell in the template to identify the email of the second coordinator."
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"name": "coordinator2PhoneCell",
|
|
1365
|
+
"type": "String?",
|
|
1366
|
+
"label": "Coordinator2PhoneCell",
|
|
1367
|
+
"description": "A reference to a cell in the template to identify the phone of the second coordinator."
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"name": "dataYearCellRequiresParsing",
|
|
1371
|
+
"type": "Boolean",
|
|
1372
|
+
"label": "DataYearCellRequiresParsing",
|
|
1373
|
+
"description": "If true, the dataYearCell will be checked if it contains a year number. If false, we expect the dataYearCell to contain a year number."
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"name": "dataYearCell",
|
|
1377
|
+
"type": "String?",
|
|
1378
|
+
"label": "DataYearCell",
|
|
1379
|
+
"description": "A reference to a cell in the template to identify data year."
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"name": "hasCountryIdentifier",
|
|
1383
|
+
"type": "Boolean",
|
|
1384
|
+
"label": "HasCountryIdentifier",
|
|
1385
|
+
"description": "If true, the template has a cell to identify the country."
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"name": "countryCell",
|
|
1389
|
+
"type": "String?",
|
|
1390
|
+
"label": "CountryCell",
|
|
1391
|
+
"description": "A reference to a cell in the template to identify the country."
|
|
1392
|
+
}
|
|
1393
|
+
],
|
|
1394
|
+
"standardFields": ["id"]
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"name": "ExcelQuestionCell",
|
|
1398
|
+
"description": "The mapping of a question to a cell in the Excel survey template.",
|
|
1399
|
+
"schema": "Configuration",
|
|
1400
|
+
"fields": [
|
|
1401
|
+
{
|
|
1402
|
+
"name": "excelSurveyTemplateId",
|
|
1403
|
+
"type": "ExcelSurveyTemplate",
|
|
1404
|
+
"label": "ExcelSurveyTemplateId"
|
|
1405
|
+
},
|
|
1406
|
+
{
|
|
1407
|
+
"name": "questionId",
|
|
1408
|
+
"type": "Question",
|
|
1409
|
+
"label": "QuestionId",
|
|
1410
|
+
"description": "The question that is represented by this cell in the Excel template."
|
|
1411
|
+
},
|
|
1412
|
+
{
|
|
1413
|
+
"name": "worksheetName",
|
|
1414
|
+
"type": "String",
|
|
1415
|
+
"label": "WorksheetName",
|
|
1416
|
+
"description": "The name of the worksheet"
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"name": "row",
|
|
1420
|
+
"type": "Int",
|
|
1421
|
+
"label": "Row",
|
|
1422
|
+
"description": "The row of the cell in the Excel template."
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"name": "column",
|
|
1426
|
+
"type": "Int",
|
|
1427
|
+
"label": "Column",
|
|
1428
|
+
"description": "The column of the cell in the Excel template."
|
|
1429
|
+
},
|
|
1430
|
+
{
|
|
1431
|
+
"name": "sectionName",
|
|
1432
|
+
"type": "String?",
|
|
1433
|
+
"label": "SectionName",
|
|
1434
|
+
"description": "Name of the section in Excel template"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"name": "sectionRowName",
|
|
1438
|
+
"type": "String?",
|
|
1439
|
+
"label": "SectionRowName",
|
|
1440
|
+
"description": "Name of the row in the section"
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
"name": "sectionColumnName",
|
|
1444
|
+
"type": "String?",
|
|
1445
|
+
"label": "SectionColumnName",
|
|
1446
|
+
"description": "Name of the column in the section"
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"name": "isCalculated",
|
|
1450
|
+
"type": "Boolean",
|
|
1451
|
+
"label": "IsCalculated",
|
|
1452
|
+
"description": "Indicates if the cell is calculated or a manual input."
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"name": "oldExcelId",
|
|
1456
|
+
"type": "Int?",
|
|
1457
|
+
"label": "OldExcelId",
|
|
1458
|
+
"description": "The integer ID used in the old Excel model."
|
|
1459
|
+
}
|
|
1460
|
+
],
|
|
1461
|
+
"standardFields": ["id"]
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"name": "ProductSplitSection",
|
|
1465
|
+
"description": "Some sections of a survey can be split by product group. For each section, a different split can be applied. This model represents a section.\n\nE.g. for a Life & Annuities survey, the product groups are Life, Annuities and A&H. The survey has multiple sections that are somewhat aligned to the functions: Overall, Product Management, Sales, etc.",
|
|
1466
|
+
"schema": "Configuration",
|
|
1467
|
+
"fields": [
|
|
1468
|
+
{
|
|
1469
|
+
"name": "name",
|
|
1470
|
+
"type": "String",
|
|
1471
|
+
"label": "Name"
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
"name": "key",
|
|
1475
|
+
"type": "String",
|
|
1476
|
+
"label": "Key"
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"name": "benchmarkId",
|
|
1480
|
+
"type": "Benchmark",
|
|
1481
|
+
"label": "BenchmarkId",
|
|
1482
|
+
"description": "The benchmark this section belongs to."
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"name": "isDefaultSplit",
|
|
1486
|
+
"type": "Boolean",
|
|
1487
|
+
"label": "IsDefaultSplit",
|
|
1488
|
+
"description": "If true, split values for this section will be applied in case no split data is provided for specific sections."
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"name": "isDetailedSplit",
|
|
1492
|
+
"type": "Boolean",
|
|
1493
|
+
"label": "IsDetailedSplit",
|
|
1494
|
+
"description": "If false, questions will be split by ProductGroups (L, A, H). If true, it will be split by all elements of the Product taxonomy of the survey."
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
"name": "detailedSplitIndicatorTaxonomyKey",
|
|
1498
|
+
"type": "String?",
|
|
1499
|
+
"label": "DetailedSplitIndicatorTaxonomyKey",
|
|
1500
|
+
"description": "The key for the indicator taxonomy that should be used for the detailed split - redundantly provided in addition to id so it can be properly seeded."
|
|
1501
|
+
},
|
|
1502
|
+
{
|
|
1503
|
+
"name": "detailedSplitIndicatorTaxonomyId",
|
|
1504
|
+
"type": "Taxonomy?",
|
|
1505
|
+
"prismaRelationFieldName": "detailedSplitIndicatorTaxonomy",
|
|
1506
|
+
"label": "DetailedSplitIndicatorTaxonomyId",
|
|
1507
|
+
"description": "The Indicator taxonomy that should be used for the detailed split."
|
|
1508
|
+
},
|
|
1509
|
+
{
|
|
1510
|
+
"name": "detailedSplitFunctionTaxonomyKey",
|
|
1511
|
+
"type": "String?",
|
|
1512
|
+
"label": "DetailedSplitFunctionTaxonomyKey",
|
|
1513
|
+
"description": "The key for the Function taxonomy that should be used for the detailed split - redundantly provided in addition to id so it can be properly seeded."
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
"name": "detailedSplitFunctionTaxonomyId",
|
|
1517
|
+
"type": "Taxonomy?",
|
|
1518
|
+
"prismaRelationFieldName": "detailedSplitFunctionTaxonomy",
|
|
1519
|
+
"label": "DetailedSplitFunctionTaxonomyId",
|
|
1520
|
+
"description": "The Function taxonomy that should be used for the detailed split."
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"name": "introduced",
|
|
1524
|
+
"type": "Int?",
|
|
1525
|
+
"label": "Introduced",
|
|
1526
|
+
"description": "The survey year in which this product split section was introduced. If survey year is before this year, the product split section is not available. If value is null it will be available in all surveys (unless deprecated)."
|
|
1527
|
+
},
|
|
1528
|
+
{
|
|
1529
|
+
"name": "deprecated",
|
|
1530
|
+
"type": "Int?",
|
|
1531
|
+
"label": "Deprecated",
|
|
1532
|
+
"description": "The survey year in which this product split section was deprecated. If survey year is after this year, the product split section is not available. If value is null it will be available in all surveys (unless introduced)."
|
|
1533
|
+
}
|
|
1534
|
+
],
|
|
1535
|
+
"standardFields": ["id"]
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"name": "DataSet",
|
|
1539
|
+
"description": "Represents a data set for a participant.\n\nEach time, data is imported for a participant (or later a participant submits a new dataset), a new record is created.\nThe latest/current import is linked a `Participant.currentImport`.\n\nOld imports are kept for auditing purposes - and to allow to reproduce consistent peer group results: In case a peer group result is produced but data for a peer group participant is later updated, this allows to reproduce the original peer group results.",
|
|
1540
|
+
"schema": "Participation",
|
|
1541
|
+
"fields": [
|
|
1542
|
+
{
|
|
1543
|
+
"name": "participantId",
|
|
1544
|
+
"type": "Participant",
|
|
1545
|
+
"label": "ParticipantId",
|
|
1546
|
+
"description": "The participant for which the data was imported."
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"name": "importedByUserId",
|
|
1550
|
+
"type": "User",
|
|
1551
|
+
"label": "ImportedByUserId",
|
|
1552
|
+
"description": "The user that imported the data."
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
"name": "createAt",
|
|
1556
|
+
"type": "DateTime",
|
|
1557
|
+
"label": "CreateAt",
|
|
1558
|
+
"description": "The date and time when the data was imported/created."
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"name": "legacySourceFileName",
|
|
1562
|
+
"type": "String?",
|
|
1563
|
+
"label": "LegacySourceFileName",
|
|
1564
|
+
"description": "The name of the legacy Excel file that was imported. Only relevant for legacy imports."
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
"name": "uploadFileId",
|
|
1568
|
+
"type": "File?",
|
|
1569
|
+
"label": "UploadFileId",
|
|
1570
|
+
"description": "The id of the file that was imported. Not available for legacy imports."
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
"name": "excelSurveyTemplateId",
|
|
1574
|
+
"type": "ExcelSurveyTemplate",
|
|
1575
|
+
"label": "ExcelSurveyTemplateId"
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
"name": "importedParticipantName",
|
|
1579
|
+
"type": "String?",
|
|
1580
|
+
"label": "ImportedParticipantName",
|
|
1581
|
+
"description": "The name of the participant as it was in the imported file."
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"name": "importCountValues",
|
|
1585
|
+
"type": "Int",
|
|
1586
|
+
"label": "ImportCountValues",
|
|
1587
|
+
"description": "The number of values that were imported."
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
"name": "importCountErrors",
|
|
1591
|
+
"type": "Int",
|
|
1592
|
+
"label": "ImportCountErrors",
|
|
1593
|
+
"description": "The number of errors that were encountered during import."
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"name": "importCountTexts",
|
|
1597
|
+
"type": "Int",
|
|
1598
|
+
"label": "ImportCountTexts",
|
|
1599
|
+
"description": "The number of text values that were imported."
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"name": "importCountBlanks",
|
|
1603
|
+
"type": "Int",
|
|
1604
|
+
"label": "ImportCountBlanks",
|
|
1605
|
+
"description": "The number of blank values that were imported."
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
"name": "coordinator1Name",
|
|
1609
|
+
"type": "String?",
|
|
1610
|
+
"label": "Coordinator1Name",
|
|
1611
|
+
"description": "The name of the first coordinator."
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"name": "coordinator1Email",
|
|
1615
|
+
"type": "String?",
|
|
1616
|
+
"label": "Coordinator1Email",
|
|
1617
|
+
"description": "The email of the first coordinator."
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"name": "coordinator1Phone",
|
|
1621
|
+
"type": "String?",
|
|
1622
|
+
"label": "Coordinator1Phone",
|
|
1623
|
+
"description": "The phone of the first coordinator."
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"name": "coordinator2Name",
|
|
1627
|
+
"type": "String?",
|
|
1628
|
+
"label": "Coordinator2Name",
|
|
1629
|
+
"description": "The name of the second coordinator."
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
"name": "coordinator2Email",
|
|
1633
|
+
"type": "String?",
|
|
1634
|
+
"label": "Coordinator2Email",
|
|
1635
|
+
"description": "The email of the second coordinator."
|
|
1636
|
+
},
|
|
1637
|
+
{
|
|
1638
|
+
"name": "coordinator2Phone",
|
|
1639
|
+
"type": "String?",
|
|
1640
|
+
"label": "Coordinator2Phone",
|
|
1641
|
+
"description": "The phone of the second coordinator."
|
|
1642
|
+
}
|
|
1643
|
+
],
|
|
1644
|
+
"standardFields": ["id"],
|
|
1645
|
+
"seed": []
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"name": "ProductSplitQuestion",
|
|
1649
|
+
"description": "",
|
|
1650
|
+
"schema": "Configuration",
|
|
1651
|
+
"fields": [
|
|
1652
|
+
{
|
|
1653
|
+
"name": "excelSurveyTemplateId",
|
|
1654
|
+
"type": "ExcelSurveyTemplate",
|
|
1655
|
+
"label": "ExcelSurveyTemplateId",
|
|
1656
|
+
"description": "The survey template this question belongs to."
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"name": "productGroupId",
|
|
1660
|
+
"type": "ProductGroup",
|
|
1661
|
+
"label": "ProductGroupId",
|
|
1662
|
+
"description": "The product group that the question will represent."
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"name": "productSplitSectionId",
|
|
1666
|
+
"type": "ProductSplitSection",
|
|
1667
|
+
"label": "ProductSplitSectionId",
|
|
1668
|
+
"description": "The section that the question will represent."
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
"name": "excelQuestionCellId",
|
|
1672
|
+
"type": "ExcelQuestionCell",
|
|
1673
|
+
"label": "ExcelQuestionCellId",
|
|
1674
|
+
"description": "The question cell that will be used to determine the split."
|
|
1675
|
+
}
|
|
1676
|
+
],
|
|
1677
|
+
"standardFields": ["id"],
|
|
1678
|
+
"seed": []
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
"name": "ProductSplitDataPoint",
|
|
1682
|
+
"description": "The product split data for an ExcelImport (??? Better dataset?)",
|
|
1683
|
+
"schema": "Participation",
|
|
1684
|
+
"fields": [
|
|
1685
|
+
{
|
|
1686
|
+
"name": "dataSetId",
|
|
1687
|
+
"type": "DataSet",
|
|
1688
|
+
"label": "DataSetId"
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"name": "productSplitSectionId",
|
|
1692
|
+
"type": "ProductSplitSection",
|
|
1693
|
+
"label": "ProductSplitSectionId"
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"name": "productGroupId",
|
|
1697
|
+
"type": "ProductGroup",
|
|
1698
|
+
"label": "ProductGroupId"
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
"name": "split",
|
|
1702
|
+
"type": "Float",
|
|
1703
|
+
"label": "Split",
|
|
1704
|
+
"description": "The actual split for this product group. Must be between 0 and 1."
|
|
1705
|
+
}
|
|
1706
|
+
],
|
|
1707
|
+
"standardFields": ["id"],
|
|
1708
|
+
"seed": []
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
"name": "SurveyDataPoint",
|
|
1712
|
+
"description": "The collected data from Excel surveys",
|
|
1713
|
+
"schema": "Participation",
|
|
1714
|
+
"fields": [
|
|
1715
|
+
{
|
|
1716
|
+
"name": "dataSetId",
|
|
1717
|
+
"type": "DataSet",
|
|
1718
|
+
"label": "DataSetId"
|
|
1719
|
+
},
|
|
1720
|
+
{
|
|
1721
|
+
"name": "excelQuestionCellId",
|
|
1722
|
+
"type": "ExcelQuestionCell",
|
|
1723
|
+
"label": "ExcelQuestionCellId"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"name": "value",
|
|
1727
|
+
"type": "Float?",
|
|
1728
|
+
"label": "Value",
|
|
1729
|
+
"description": "The validated/parsed value"
|
|
1730
|
+
},
|
|
1731
|
+
{
|
|
1732
|
+
"name": "textValue",
|
|
1733
|
+
"type": "String?",
|
|
1734
|
+
"label": "TextValue",
|
|
1735
|
+
"description": "The validated/parsed text value"
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
"name": "importError",
|
|
1739
|
+
"type": "String?",
|
|
1740
|
+
"label": "ImportError",
|
|
1741
|
+
"description": "In case the cell has an error or the import failed, the error message is stored here."
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"name": "cellSourceValue",
|
|
1745
|
+
"type": "String?",
|
|
1746
|
+
"label": "CellSourceValue",
|
|
1747
|
+
"description": "The actual source value of the cell in the imported file."
|
|
1748
|
+
},
|
|
1749
|
+
{
|
|
1750
|
+
"name": "cellSourceFormula",
|
|
1751
|
+
"type": "String?",
|
|
1752
|
+
"label": "CellSourceFormula",
|
|
1753
|
+
"description": "The actual source formula of the cell in the imported file."
|
|
1754
|
+
},
|
|
1755
|
+
{
|
|
1756
|
+
"name": "cellComment",
|
|
1757
|
+
"type": "String?",
|
|
1758
|
+
"label": "CellComment",
|
|
1759
|
+
"description": "The comment of the cell in the imported file."
|
|
1760
|
+
}
|
|
1761
|
+
],
|
|
1762
|
+
"standardFields": ["id"],
|
|
1763
|
+
"seed": []
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"name": "MetricOutlier",
|
|
1767
|
+
"description": "When a calculated metric for a participant exceeds a certain threshold (e.g. two or three standard deviations from the peer group's mean), the value can be marked as an outlier. Once marked as an outlier, the value will be excluded from the calculation of any peer group results.",
|
|
1768
|
+
"schema": "Participation",
|
|
1769
|
+
"fields": [
|
|
1770
|
+
{
|
|
1771
|
+
"name": "participantId",
|
|
1772
|
+
"type": "Participant",
|
|
1773
|
+
"label": "ParticipantId"
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
"name": "metricId",
|
|
1777
|
+
"type": "Metric",
|
|
1778
|
+
"label": "MetricId"
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
"name": "createdByUserId",
|
|
1782
|
+
"type": "User",
|
|
1783
|
+
"label": "CreatedByUserId"
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "valueInitial",
|
|
1787
|
+
"type": "Float?",
|
|
1788
|
+
"label": "ValueInitial",
|
|
1789
|
+
"description": "The calculated value of the metric when it was marked as an outlier."
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
"name": "valueCorrected",
|
|
1793
|
+
"type": "Float?",
|
|
1794
|
+
"label": "ValueCorrected",
|
|
1795
|
+
"description": "The corrected value of the metric. If null the value will be ignored in any peer group calculations."
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
"name": "comment",
|
|
1799
|
+
"type": "String?",
|
|
1800
|
+
"label": "Comment",
|
|
1801
|
+
"description": "The reason why the value was marked as an outlier."
|
|
1802
|
+
}
|
|
1803
|
+
],
|
|
1804
|
+
"standardFields": ["id", "createdAt"],
|
|
1805
|
+
"seed": []
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
"name": "AggregationValue",
|
|
1809
|
+
"description": "The calculated aggregation value for a dataset.",
|
|
1810
|
+
"schema": "Benchmark",
|
|
1811
|
+
"fields": [
|
|
1812
|
+
{
|
|
1813
|
+
"name": "aggregationId",
|
|
1814
|
+
"type": "Aggregation",
|
|
1815
|
+
"label": "AggregationId"
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"name": "aggregationKey",
|
|
1819
|
+
"type": "String",
|
|
1820
|
+
"label": "AggregationKey",
|
|
1821
|
+
"description": "The aggregation's key - stored for debugging purposes so values can be easily identified in the database."
|
|
1822
|
+
},
|
|
1823
|
+
{
|
|
1824
|
+
"name": "dataSetId",
|
|
1825
|
+
"type": "DataSet",
|
|
1826
|
+
"label": "DataSetId"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"name": "lastCalculatedAt",
|
|
1830
|
+
"type": "DateTime",
|
|
1831
|
+
"label": "LastCalculatedAt",
|
|
1832
|
+
"description": "The date and time when the aggregation was last calculated."
|
|
1833
|
+
},
|
|
1834
|
+
{
|
|
1835
|
+
"name": "value",
|
|
1836
|
+
"type": "Float?",
|
|
1837
|
+
"label": "Value",
|
|
1838
|
+
"description": "The calculated value of the aggregation."
|
|
1839
|
+
}
|
|
1840
|
+
],
|
|
1841
|
+
"standardFields": ["id"],
|
|
1842
|
+
"seed": []
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
"name": "MetricResult",
|
|
1846
|
+
"description": "The calculated metric value for a dataset.",
|
|
1847
|
+
"schema": "Benchmark",
|
|
1848
|
+
"fields": [
|
|
1849
|
+
{
|
|
1850
|
+
"name": "participantId",
|
|
1851
|
+
"type": "Participant",
|
|
1852
|
+
"label": "ParticipantId"
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"name": "metricId",
|
|
1856
|
+
"type": "Metric",
|
|
1857
|
+
"label": "MetricId"
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
"name": "dataSetId",
|
|
1861
|
+
"type": "DataSet",
|
|
1862
|
+
"label": "DataSetId"
|
|
1863
|
+
},
|
|
1864
|
+
{
|
|
1865
|
+
"name": "lastCalculatedAt",
|
|
1866
|
+
"type": "DateTime",
|
|
1867
|
+
"label": "LastCalculatedAt",
|
|
1868
|
+
"description": "The date and time when the aggregation was last calculated."
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"name": "value",
|
|
1872
|
+
"type": "Float?",
|
|
1873
|
+
"label": "Value",
|
|
1874
|
+
"description": "The calculated value of the aggregation."
|
|
1875
|
+
},
|
|
1876
|
+
{
|
|
1877
|
+
"name": "metricOutlierId",
|
|
1878
|
+
"type": "MetricOutlier?",
|
|
1879
|
+
"label": "MetricOutlierId",
|
|
1880
|
+
"description": "The (optional) outlier that is overriding this metric result in the PeerGroup calculation."
|
|
1881
|
+
}
|
|
1882
|
+
],
|
|
1883
|
+
"standardFields": ["id"],
|
|
1884
|
+
"seed": []
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
"name": "PeerGroupResult",
|
|
1888
|
+
"description": "The calculated summary statistics for a metric for a peergroup.",
|
|
1889
|
+
"schema": "Benchmark",
|
|
1890
|
+
"fields": [
|
|
1891
|
+
{
|
|
1892
|
+
"name": "peerGroupId",
|
|
1893
|
+
"type": "PeerGroup",
|
|
1894
|
+
"label": "PeerGroupId"
|
|
1895
|
+
},
|
|
1896
|
+
{
|
|
1897
|
+
"name": "metricId",
|
|
1898
|
+
"type": "Metric",
|
|
1899
|
+
"label": "MetricId"
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"name": "lastCalculatedAt",
|
|
1903
|
+
"type": "DateTime",
|
|
1904
|
+
"label": "LastCalculatedAt",
|
|
1905
|
+
"description": "The date and time when the aggregation was last calculated."
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
"name": "countValId",
|
|
1909
|
+
"type": "Int",
|
|
1910
|
+
"label": "CountValId",
|
|
1911
|
+
"description": "The number of valid metricResult values in the peer group."
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
"name": "mean",
|
|
1915
|
+
"type": "Float?",
|
|
1916
|
+
"label": "Mean",
|
|
1917
|
+
"description": "The calculated mean of the aggregation."
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"name": "tQ",
|
|
1921
|
+
"type": "Float?",
|
|
1922
|
+
"label": "TQ",
|
|
1923
|
+
"description": "The calculated top quartile of the aggregation."
|
|
1924
|
+
},
|
|
1925
|
+
{
|
|
1926
|
+
"name": "median",
|
|
1927
|
+
"type": "Float?",
|
|
1928
|
+
"label": "Median",
|
|
1929
|
+
"description": "The calculated median of the aggregation."
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
"name": "bQ",
|
|
1933
|
+
"type": "Float?",
|
|
1934
|
+
"label": "BQ",
|
|
1935
|
+
"description": "The calculated bottom quartile of the aggregation."
|
|
1936
|
+
}
|
|
1937
|
+
],
|
|
1938
|
+
"standardFields": ["id"],
|
|
1939
|
+
"seed": []
|
|
1940
|
+
}
|
|
1941
|
+
],
|
|
1942
|
+
"enums": [
|
|
1943
|
+
{
|
|
1944
|
+
"name": "PeerGroupType",
|
|
1945
|
+
"description": "Discriminates between different types of peer groups.\n\n We use PeerGroups to calculate peer group results, i.e. statistics (mean, median, top- & bottom quartile) for a group of participants.\n\nEach participant typically defines one or more peer groups (type \"ParticipantPeerGroup\"), i.e. a collection of peer participants - e.g. Allianz Life might define a peer group of all Life participants in that year - and another one for all Allianz group participants.\n\nIn addition, for each product group we define a peer group for each country and year (\"AnnualCountryProductGroup\"). These peer groups contain all participants that are assigned to this peer group, country & year. The result for these product group peer groups are used across the benchmark for comparison.\n\nAs the product groups get more members, the product group results of course change, too. As some participants want to lock in the results, another type \"AnnualCountryProductGroupLockedForParticipant\" exists. This is a copy of an \"AnnualCountryProductGroup\" with all its peers - where the peers do not change anymore, even if new participants are added to the product group.\n\nNote: Typically, a peer group (both \"ParticipantPeerGroup\" and \"AnnualCountryProductGroup\") uses the currentDataSet of each peer for the calculation. As participants can change their data (ie. create new data sets), this too can lead to changing peer group results. To avoid this, the entries in PeerGroupPeer can optionally link to a specific data set.",
|
|
1946
|
+
"schema": "PXL",
|
|
1947
|
+
"members": [
|
|
1948
|
+
{
|
|
1949
|
+
"value": "ParticipantPeerGroup",
|
|
1950
|
+
"description": "A peer group that is specific for a participant."
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
"value": "AnnualCountryProductGroup",
|
|
1954
|
+
"description": "A peer group that contains all participants of a given year for a given product group."
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"value": "AnnualCountryProductGroupLockedForParticipant",
|
|
1958
|
+
"description": "A copy of the relevant AnnualProductGroup for a participant. This peer group is used to lock/freeze the product peer group so that even with later additions to the product group, the participant still gets the same product group result."
|
|
1959
|
+
}
|
|
1960
|
+
]
|
|
1961
|
+
},
|
|
1962
|
+
{
|
|
1963
|
+
"name": "TaxonomyType",
|
|
1964
|
+
"description": "The discriminator for taxonomy",
|
|
1965
|
+
"schema": "PXL",
|
|
1966
|
+
"members": [
|
|
1967
|
+
{
|
|
1968
|
+
"value": "indicator",
|
|
1969
|
+
"description": ""
|
|
1970
|
+
},
|
|
1971
|
+
{
|
|
1972
|
+
"value": "function",
|
|
1973
|
+
"description": ""
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
"value": "product",
|
|
1977
|
+
"description": ""
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"value": "other",
|
|
1981
|
+
"description": ""
|
|
1982
|
+
}
|
|
1983
|
+
]
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
"name": "NumberFormatStyle",
|
|
1987
|
+
"description": "",
|
|
1988
|
+
"schema": "PXL",
|
|
1989
|
+
"members": [
|
|
1990
|
+
{
|
|
1991
|
+
"value": "percent",
|
|
1992
|
+
"description": ""
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
"value": "decimal",
|
|
1996
|
+
"description": ""
|
|
1997
|
+
}
|
|
1998
|
+
]
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
"name": "ColumnType",
|
|
2002
|
+
"description": "",
|
|
2003
|
+
"schema": "PXL",
|
|
2004
|
+
"members": [
|
|
2005
|
+
{
|
|
2006
|
+
"value": "NotConfiguredYet",
|
|
2007
|
+
"description": ""
|
|
2008
|
+
},
|
|
2009
|
+
{
|
|
2010
|
+
"value": "Participant",
|
|
2011
|
+
"description": ""
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
"value": "ParticipantPreviousYear",
|
|
2015
|
+
"description": ""
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
"value": "PeerGroup",
|
|
2019
|
+
"description": ""
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
"value": "ProductGroup",
|
|
2023
|
+
"description": ""
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
"value": "DirectPeer",
|
|
2027
|
+
"description": ""
|
|
2028
|
+
}
|
|
2029
|
+
]
|
|
2030
|
+
},
|
|
2031
|
+
{
|
|
2032
|
+
"name": "SummaryStatistic",
|
|
2033
|
+
"description": "",
|
|
2034
|
+
"schema": "PXL",
|
|
2035
|
+
"members": [
|
|
2036
|
+
{
|
|
2037
|
+
"value": "Median",
|
|
2038
|
+
"description": ""
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"value": "Mean",
|
|
2042
|
+
"description": ""
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
"value": "TopQuartile",
|
|
2046
|
+
"description": ""
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
"value": "BottomQuartile",
|
|
2050
|
+
"description": ""
|
|
2051
|
+
}
|
|
2052
|
+
]
|
|
2053
|
+
}
|
|
2054
|
+
]
|
|
2055
|
+
}
|