@medplum/definitions 0.4.0 → 0.4.1

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.
@@ -159,7 +159,8 @@
159
159
  "PasswordChangeRequest": "#/definitions/PasswordChangeRequest",
160
160
  "JsonWebKey": "#/definitions/JsonWebKey",
161
161
  "Bot": "#/definitions/Bot",
162
- "AccessPolicy": "#/definitions/AccessPolicy"
162
+ "AccessPolicy": "#/definitions/AccessPolicy",
163
+ "UserConfiguration": "#/definitions/UserConfiguration"
163
164
  }
164
165
  },
165
166
  "oneOf": [
@@ -627,6 +628,9 @@
627
628
  },
628
629
  {
629
630
  "$ref": "#/definitions/AccessPolicy"
631
+ },
632
+ {
633
+ "$ref": "#/definitions/UserConfiguration"
630
634
  }
631
635
  ],
632
636
  "definitions": {
@@ -1096,6 +1100,9 @@
1096
1100
  },
1097
1101
  {
1098
1102
  "$ref": "#/definitions/AccessPolicy"
1103
+ },
1104
+ {
1105
+ "$ref": "#/definitions/UserConfiguration"
1099
1106
  }
1100
1107
  ]
1101
1108
  },
@@ -61089,6 +61096,10 @@
61089
61096
  "description": "User that is granted access to the project.",
61090
61097
  "$ref": "#/definitions/Reference"
61091
61098
  },
61099
+ "userConfiguration": {
61100
+ "description": "The user configuration for the user within the project memebership such as menu links, saved searches, and features.",
61101
+ "$ref": "#/definitions/Reference"
61102
+ },
61092
61103
  "admin": {
61093
61104
  "description": "Whether this user is a project administrator.",
61094
61105
  "$ref": "#/definitions/boolean"
@@ -61150,8 +61161,7 @@
61150
61161
  },
61151
61162
  "required": [
61152
61163
  "resourceType",
61153
- "secret",
61154
- "redirectUri"
61164
+ "secret"
61155
61165
  ]
61156
61166
  },
61157
61167
  "User": {
@@ -61242,8 +61252,8 @@
61242
61252
  "description": "The user requesting the code.",
61243
61253
  "$ref": "#/definitions/Reference"
61244
61254
  },
61245
- "profile": {
61246
- "description": "Reference to the user's FHIR identity for this login (patient, practitioner, etc).",
61255
+ "membership": {
61256
+ "description": "Reference to the project membership which includes FHIR identity (patient, practitioner, etc), access policy, and user configuration.",
61247
61257
  "$ref": "#/definitions/Reference"
61248
61258
  },
61249
61259
  "scope": {
@@ -61293,14 +61303,6 @@
61293
61303
  },
61294
61304
  "type": "array"
61295
61305
  },
61296
- "project": {
61297
- "description": "Reference to the default project for the duration of the login.",
61298
- "$ref": "#/definitions/Reference"
61299
- },
61300
- "accessPolicy": {
61301
- "description": "Collection of compartments that the user has been granted access. This is a flattened collection of all ProjectMembership compartments at the time of login.",
61302
- "$ref": "#/definitions/Reference"
61303
- },
61304
61306
  "admin": {
61305
61307
  "description": "Whether this login has system administrator privileges.",
61306
61308
  "$ref": "#/definitions/boolean"
@@ -61586,6 +61588,136 @@
61586
61588
  "type": "array"
61587
61589
  }
61588
61590
  }
61591
+ },
61592
+ "UserConfiguration": {
61593
+ "description": "User specific configuration for the Medplum application.",
61594
+ "properties": {
61595
+ "resourceType": {
61596
+ "description": "This is a UserConfiguration resource",
61597
+ "const": "UserConfiguration"
61598
+ },
61599
+ "id": {
61600
+ "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
61601
+ "$ref": "#/definitions/id"
61602
+ },
61603
+ "meta": {
61604
+ "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
61605
+ "$ref": "#/definitions/Meta"
61606
+ },
61607
+ "implicitRules": {
61608
+ "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
61609
+ "$ref": "#/definitions/uri"
61610
+ },
61611
+ "_implicitRules": {
61612
+ "description": "Extensions for implicitRules",
61613
+ "$ref": "#/definitions/Element"
61614
+ },
61615
+ "language": {
61616
+ "description": "The base language in which the resource is written.",
61617
+ "$ref": "#/definitions/code"
61618
+ },
61619
+ "_language": {
61620
+ "description": "Extensions for language",
61621
+ "$ref": "#/definitions/Element"
61622
+ },
61623
+ "menu": {
61624
+ "description": "Optional menu of shortcuts to URLs for quick access.",
61625
+ "items": {
61626
+ "$ref": "#/definitions/UserConfiguration_Menu"
61627
+ },
61628
+ "type": "array"
61629
+ },
61630
+ "search": {
61631
+ "description": "Optional collection of search filters for quick access to preconfigured searches.",
61632
+ "items": {
61633
+ "$ref": "#/definitions/UserConfiguration_Search"
61634
+ },
61635
+ "type": "array"
61636
+ },
61637
+ "option": {
61638
+ "description": "User options that control the display of the application.",
61639
+ "items": {
61640
+ "$ref": "#/definitions/UserConfiguration_Option"
61641
+ },
61642
+ "type": "array"
61643
+ }
61644
+ }
61645
+ },
61646
+ "UserConfiguration_Menu": {
61647
+ "description": "Optional menu of shortcuts to URLs.",
61648
+ "properties": {
61649
+ "title": {
61650
+ "description": "The resource type.",
61651
+ "$ref": "#/definitions/string"
61652
+ },
61653
+ "link": {
61654
+ "description": "Shortcut links to URLs.",
61655
+ "items": {
61656
+ "$ref": "#/definitions/UserConfiguration_Menu_Link"
61657
+ },
61658
+ "type": "array"
61659
+ }
61660
+ }
61661
+ },
61662
+ "UserConfiguration_Menu_Link": {
61663
+ "description": "Shortcut links to URLs.",
61664
+ "properties": {
61665
+ "name": {
61666
+ "description": "The human friendly name of the link.",
61667
+ "$ref": "#/definitions/string"
61668
+ },
61669
+ "target": {
61670
+ "description": "The URL target of the link.",
61671
+ "$ref": "#/definitions/string"
61672
+ }
61673
+ }
61674
+ },
61675
+ "UserConfiguration_Search": {
61676
+ "description": "Optional collection of search filters for quick access to preconfigured searches.",
61677
+ "properties": {
61678
+ "name": {
61679
+ "description": "The human friendly name of the link.",
61680
+ "$ref": "#/definitions/string"
61681
+ },
61682
+ "criteria": {
61683
+ "description": "The rules that the server should use to determine which resources to return.",
61684
+ "$ref": "#/definitions/string"
61685
+ }
61686
+ }
61687
+ },
61688
+ "UserConfiguration_Option": {
61689
+ "description": "User options that control the display of the application.",
61690
+ "properties": {
61691
+ "id": {
61692
+ "description": "The unique identifier of the option.",
61693
+ "$ref": "#/definitions/id"
61694
+ },
61695
+ "valueBoolean": {
61696
+ "description": "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
61697
+ "pattern": "^true|false$",
61698
+ "type": "boolean"
61699
+ },
61700
+ "valueCode": {
61701
+ "description": "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
61702
+ "pattern": "^[^\\s]+(\\s[^\\s]+)*$",
61703
+ "type": "string"
61704
+ },
61705
+ "valueDecimal": {
61706
+ "description": "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
61707
+ "pattern": "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$",
61708
+ "type": "number"
61709
+ },
61710
+ "valueInteger": {
61711
+ "description": "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
61712
+ "pattern": "^-?([0]|([1-9][0-9]*))$",
61713
+ "type": "number"
61714
+ },
61715
+ "valueString": {
61716
+ "description": "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
61717
+ "pattern": "^[ \\r\\n\\t\\S]+$",
61718
+ "type": "string"
61719
+ }
61720
+ }
61589
61721
  }
61590
61722
  }
61591
61723
  }
@@ -346,7 +346,8 @@
346
346
  "max" : "1",
347
347
  "type" : [{
348
348
  "code" : "Reference",
349
- "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/User"]
349
+ "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/ClientApplication",
350
+ "https://medplum.com/fhir/StructureDefinition/User"]
350
351
  }]
351
352
  },
352
353
  {
@@ -357,9 +358,10 @@
357
358
  "max" : "1",
358
359
  "type" : [{
359
360
  "code" : "Reference",
360
- "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Patient",
361
- "http://hl7.org/fhir/StructureDefinition/Practitioner",
362
- "http://hl7.org/fhir/StructureDefinition/RelatedPerson"]
361
+ "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ClientApplication",
362
+ "http://hl7.org/fhir/StructureDefinition/Patient",
363
+ "http://hl7.org/fhir/StructureDefinition/Practitioner",
364
+ "http://hl7.org/fhir/StructureDefinition/RelatedPerson"]
363
365
  }]
364
366
  },
365
367
  {
@@ -383,6 +385,17 @@
383
385
  "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/AccessPolicy"]
384
386
  }]
385
387
  },
388
+ {
389
+ "id" : "ProjectMembership.userConfiguration",
390
+ "path" : "ProjectMembership.userConfiguration",
391
+ "definition" : "The user configuration for the user within the project memebership such as menu links, saved searches, and features.",
392
+ "min" : 0,
393
+ "max" : "1",
394
+ "type" : [{
395
+ "code" : "Reference",
396
+ "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/UserConfiguration"]
397
+ }]
398
+ },
386
399
  {
387
400
  "id" : "ProjectMembership.admin",
388
401
  "path" : "ProjectMembership.admin",
@@ -561,21 +574,19 @@
561
574
  "max" : "1",
562
575
  "type" : [{
563
576
  "code" : "Reference",
564
- "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/User"]
577
+ "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/ClientApplication",
578
+ "https://medplum.com/fhir/StructureDefinition/User"]
565
579
  }]
566
580
  },
567
581
  {
568
- "id" : "Login.profile",
569
- "path" : "Login.profile",
570
- "definition" : "Reference to the user's FHIR identity for this login (patient, practitioner, etc).",
582
+ "id" : "Login.membership",
583
+ "path" : "Login.membership",
584
+ "definition" : "Reference to the project membership which includes FHIR identity (patient, practitioner, etc), access policy, and user configuration.",
571
585
  "min" : 1,
572
586
  "max" : "1",
573
587
  "type" : [{
574
588
  "code" : "Reference",
575
- "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Patient",
576
- "http://hl7.org/fhir/StructureDefinition/Practitioner",
577
- "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
578
- "https://medplum.com/fhir/StructureDefinition/ClientApplication"]
589
+ "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/ProjectMembership"]
579
590
  }]
580
591
  },
581
592
  {
@@ -678,28 +689,6 @@
678
689
  "code" : "boolean"
679
690
  }]
680
691
  },
681
- {
682
- "id" : "Login.accessPolicy",
683
- "path" : "Login.accessPolicy",
684
- "definition" : "Collection of compartments that the user has been granted access. This is a flattened collection of all ProjectMembership compartments at the time of login.",
685
- "min" : 0,
686
- "max" : "1",
687
- "type" : [{
688
- "code" : "Reference",
689
- "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/AccessPolicy"]
690
- }]
691
- },
692
- {
693
- "id" : "Login.project",
694
- "path" : "Login.project",
695
- "definition" : "Reference to the default project for the duration of the login.",
696
- "min" : 0,
697
- "max" : "1",
698
- "type" : [{
699
- "code" : "Reference",
700
- "targetProfile" : ["https://medplum.com/fhir/StructureDefinition/Project"]
701
- }]
702
- },
703
692
  {
704
693
  "id" : "Login.admin",
705
694
  "path" : "Login.admin",
@@ -1188,5 +1177,184 @@
1188
1177
  ]
1189
1178
  }
1190
1179
  }
1180
+ },
1181
+ {
1182
+ "fullUrl" : "https://medplum.com/fhir/StructureDefinition/UserConfiguration",
1183
+ "resource" : {
1184
+ "resourceType" : "StructureDefinition",
1185
+ "id" : "UserConfiguration",
1186
+ "name" : "UserConfiguration",
1187
+ "description" : "User specific configuration for the Medplum application.",
1188
+ "snapshot" : {
1189
+ "element" : [
1190
+ {
1191
+ "id" : "UserConfiguration.id",
1192
+ "path" : "UserConfiguration.id",
1193
+ "short" : "Logical id of this artifact",
1194
+ "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
1195
+ "min" : 0,
1196
+ "max" : "1",
1197
+ "type" : [{
1198
+ "code" : "string"
1199
+ }]
1200
+ },
1201
+ {
1202
+ "id" : "UserConfiguration.meta",
1203
+ "path" : "UserConfiguration.meta",
1204
+ "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
1205
+ "min" : 0,
1206
+ "max" : "1",
1207
+ "type" : [{
1208
+ "code" : "Meta"
1209
+ }]
1210
+ },
1211
+ {
1212
+ "id" : "UserConfiguration.implicitRules",
1213
+ "path" : "UserConfiguration.implicitRules",
1214
+ "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
1215
+ "min" : 0,
1216
+ "max" : "1",
1217
+ "type" : [{
1218
+ "code" : "uri"
1219
+ }]
1220
+ },
1221
+ {
1222
+ "id" : "UserConfiguration.language",
1223
+ "path" : "UserConfiguration.language",
1224
+ "definition" : "The base language in which the resource is written.",
1225
+ "min" : 0,
1226
+ "max" : "1",
1227
+ "type" : [{
1228
+ "code" : "code"
1229
+ }]
1230
+ },
1231
+ {
1232
+ "id" : "UserConfiguration.menu",
1233
+ "path" : "UserConfiguration.menu",
1234
+ "definition" : "Optional menu of shortcuts to URLs.",
1235
+ "min" : 0,
1236
+ "max" : "*",
1237
+ "type" : [{
1238
+ "code" : "BackboneElement"
1239
+ }]
1240
+ },
1241
+ {
1242
+ "id" : "UserConfiguration.menu.title",
1243
+ "path" : "UserConfiguration.menu.title",
1244
+ "definition" : "Title of the menu.",
1245
+ "min" : 1,
1246
+ "max" : "1",
1247
+ "type" : [{
1248
+ "code" : "string"
1249
+ }]
1250
+ },
1251
+ {
1252
+ "id" : "UserConfiguration.menu.link",
1253
+ "path" : "UserConfiguration.menu.link",
1254
+ "definition" : "Shortcut links to URLs.",
1255
+ "min" : 0,
1256
+ "max" : "*",
1257
+ "type" : [{
1258
+ "code" : "BackboneElement"
1259
+ }]
1260
+ },
1261
+ {
1262
+ "id" : "UserConfiguration.menu.link.name",
1263
+ "path" : "UserConfiguration.menu.link.name",
1264
+ "definition" : "The human friendly name of the link.",
1265
+ "min" : 1,
1266
+ "max" : "1",
1267
+ "type" : [{
1268
+ "code" : "string"
1269
+ }]
1270
+ },
1271
+ {
1272
+ "id" : "UserConfiguration.menu.link.target",
1273
+ "path" : "UserConfiguration.menu.link.target",
1274
+ "definition" : "The URL target of the link.",
1275
+ "min" : 1,
1276
+ "max" : "1",
1277
+ "type" : [{
1278
+ "code" : "url"
1279
+ }]
1280
+ },
1281
+ {
1282
+ "id" : "UserConfiguration.search",
1283
+ "path" : "UserConfiguration.search",
1284
+ "definition" : "Shortcut links to URLs.",
1285
+ "min" : 0,
1286
+ "max" : "*",
1287
+ "type" : [{
1288
+ "code" : "BackboneElement"
1289
+ }]
1290
+ },
1291
+ {
1292
+ "id" : "UserConfiguration.search.name",
1293
+ "path" : "UserConfiguration.search.name",
1294
+ "definition" : "The human friendly name of the link.",
1295
+ "min" : 1,
1296
+ "max" : "1",
1297
+ "type" : [{
1298
+ "code" : "string"
1299
+ }]
1300
+ },
1301
+ {
1302
+ "id" : "UserConfiguration.search.criteria",
1303
+ "path" : "UserConfiguration.search.criteria",
1304
+ "definition" : "The rules that the server should use to determine which resources to return.",
1305
+ "comment" : "The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading \"/\".",
1306
+ "min" : 1,
1307
+ "max" : "1",
1308
+ "type" : [{
1309
+ "code" : "string"
1310
+ }]
1311
+ },
1312
+ {
1313
+ "id" : "UserConfiguration.option",
1314
+ "path" : "UserConfiguration.option",
1315
+ "definition" : "User options that control the display of the application.",
1316
+ "min" : 0,
1317
+ "max" : "*",
1318
+ "type" : [{
1319
+ "code" : "BackboneElement"
1320
+ }]
1321
+ },
1322
+ {
1323
+ "id" : "UserConfiguration.option.id",
1324
+ "path" : "UserConfiguration.option.id",
1325
+ "definition" : "The unique identifier of the option.",
1326
+ "min" : 1,
1327
+ "max" : "1",
1328
+ "type" : [{
1329
+ "code" : "code"
1330
+ }]
1331
+ },
1332
+ {
1333
+ "id" : "UserConfiguration.option.value[x]",
1334
+ "path" : "UserConfiguration.option.value[x]",
1335
+ "short" : "Value of option",
1336
+ "definition" : "Value of option - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
1337
+ "min" : 1,
1338
+ "max" : "1",
1339
+ "type" : [
1340
+ {
1341
+ "code" : "boolean"
1342
+ },
1343
+ {
1344
+ "code" : "code"
1345
+ },
1346
+ {
1347
+ "code" : "decimal"
1348
+ },
1349
+ {
1350
+ "code" : "integer"
1351
+ },
1352
+ {
1353
+ "code" : "string"
1354
+ }]
1355
+ }
1356
+ ]
1357
+ }
1358
+ }
1191
1359
  }]
1192
1360
  }
@@ -65473,7 +65473,7 @@
65473
65473
  "expression" : "ProjectMembership.user",
65474
65474
  "xpath" : "f:ProjectMembership/f:user",
65475
65475
  "xpathUsage" : "normal",
65476
- "target" : ["User"]
65476
+ "target" : ["ClientApplication", "User"]
65477
65477
  }
65478
65478
  },
65479
65479
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/definitions",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Medplum Data Definitions",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",