@medplum/fhirtypes 0.3.0 → 0.5.0

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/README.md CHANGED
@@ -58,4 +58,4 @@ const myPatient: Patient = {
58
58
 
59
59
  ## License
60
60
 
61
- Apache 2.0. Copyright © Medplum 2021
61
+ Apache 2.0. Copyright © Medplum 2022
package/dist/Login.d.ts CHANGED
@@ -3,14 +3,10 @@
3
3
  * Do not edit manually.
4
4
  */
5
5
 
6
- import { AccessPolicy } from './AccessPolicy';
7
6
  import { ClientApplication } from './ClientApplication';
8
7
  import { Meta } from './Meta';
9
- import { Patient } from './Patient';
10
- import { Practitioner } from './Practitioner';
11
- import { Project } from './Project';
8
+ import { ProjectMembership } from './ProjectMembership';
12
9
  import { Reference } from './Reference';
13
- import { RelatedPerson } from './RelatedPerson';
14
10
  import { User } from './User';
15
11
 
16
12
  /**
@@ -57,19 +53,25 @@ export interface Login {
57
53
  /**
58
54
  * The user requesting the code.
59
55
  */
60
- readonly user?: Reference<User>;
56
+ readonly user?: Reference<ClientApplication | User>;
61
57
 
62
58
  /**
63
- * Reference to the user's FHIR identity for this login (patient,
64
- * practitioner, etc).
59
+ * Reference to the project membership which includes FHIR identity
60
+ * (patient, practitioner, etc), access policy, and user configuration.
65
61
  */
66
- readonly profile?: Reference<Patient | Practitioner | RelatedPerson | ClientApplication>;
62
+ readonly membership?: Reference<ProjectMembership>;
67
63
 
68
64
  /**
69
65
  * OAuth scope or scopes.
70
66
  */
71
67
  readonly scope?: string;
72
68
 
69
+ /**
70
+ * The authentication method used to obtain the code (password or
71
+ * google).
72
+ */
73
+ readonly authMethod?: string;
74
+
73
75
  /**
74
76
  * Time when the End-User authentication occurred.
75
77
  */
@@ -128,19 +130,18 @@ export interface Login {
128
130
  readonly revoked?: boolean;
129
131
 
130
132
  /**
131
- * Collection of compartments that the user has been granted access.
132
- * This is a flattened collection of all ProjectMembership compartments
133
- * at the time of login.
133
+ * Whether this login has system administrator privileges.
134
134
  */
135
- readonly accessPolicy?: Reference<AccessPolicy>;
135
+ readonly admin?: boolean;
136
136
 
137
137
  /**
138
- * Reference to the default project for the duration of the login.
138
+ * The Internet Protocol (IP) address of the client or last proxy that
139
+ * sent the request.
139
140
  */
140
- readonly project?: Reference<Project>;
141
+ readonly remoteAddress?: string;
141
142
 
142
143
  /**
143
- * Whether this login has system administrator privileges.
144
+ * The User-Agent request header as sent by the client.
144
145
  */
145
- readonly admin?: boolean;
146
+ readonly userAgent?: string;
146
147
  }
package/dist/Project.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * Do not edit manually.
4
4
  */
5
5
 
6
+ import { AccessPolicy } from './AccessPolicy';
6
7
  import { Meta } from './Meta';
7
8
  import { Reference } from './Reference';
8
9
  import { User } from './User';
@@ -54,4 +55,14 @@ export interface Project {
54
55
  * The user who owns the project.
55
56
  */
56
57
  readonly owner?: Reference<User>;
58
+
59
+ /**
60
+ * A list of optional features that are enabled for the project.
61
+ */
62
+ readonly features?: string[];
63
+
64
+ /**
65
+ * The default access policy for patients using open registration.
66
+ */
67
+ readonly defaultPatientAccessPolicy?: Reference<AccessPolicy>;
57
68
  }
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import { AccessPolicy } from './AccessPolicy';
7
+ import { ClientApplication } from './ClientApplication';
7
8
  import { Meta } from './Meta';
8
9
  import { Patient } from './Patient';
9
10
  import { Practitioner } from './Practitioner';
@@ -11,6 +12,7 @@ import { Project } from './Project';
11
12
  import { Reference } from './Reference';
12
13
  import { RelatedPerson } from './RelatedPerson';
13
14
  import { User } from './User';
15
+ import { UserConfiguration } from './UserConfiguration';
14
16
 
15
17
  /**
16
18
  * Medplum project membership. A project membership grants a user access
@@ -57,24 +59,24 @@ export interface ProjectMembership {
57
59
  /**
58
60
  * User that is granted access to the project.
59
61
  */
60
- readonly user?: Reference<User>;
62
+ readonly user?: Reference<ClientApplication | User>;
61
63
 
62
64
  /**
63
65
  * Reference to the resource that represents the user profile within the
64
66
  * project.
65
67
  */
66
- readonly profile?: Reference<Patient | Practitioner | RelatedPerson>;
68
+ readonly profile?: Reference<ClientApplication | Patient | Practitioner | RelatedPerson>;
67
69
 
68
70
  /**
69
- * Optional account reference that can be used for sub-project
70
- * compartments.
71
+ * The access policy for the user within the project memebership.
71
72
  */
72
- readonly account?: Reference;
73
+ readonly accessPolicy?: Reference<AccessPolicy>;
73
74
 
74
75
  /**
75
- * The access policy for the user within the project memebership.
76
+ * The user configuration for the user within the project memebership
77
+ * such as menu links, saved searches, and features.
76
78
  */
77
- readonly accessPolicy?: Reference<AccessPolicy>;
79
+ readonly userConfiguration?: Reference<UserConfiguration>;
78
80
 
79
81
  /**
80
82
  * Whether this user is a project administrator.
@@ -155,6 +155,7 @@ import { TerminologyCapabilities } from './TerminologyCapabilities';
155
155
  import { TestReport } from './TestReport';
156
156
  import { TestScript } from './TestScript';
157
157
  import { User } from './User';
158
+ import { UserConfiguration } from './UserConfiguration';
158
159
  import { ValueSet } from './ValueSet';
159
160
  import { VerificationResult } from './VerificationResult';
160
161
  import { VisionPrescription } from './VisionPrescription';
@@ -311,6 +312,7 @@ export type Resource = AccessPolicy
311
312
  | TestReport
312
313
  | TestScript
313
314
  | User
315
+ | UserConfiguration
314
316
  | ValueSet
315
317
  | VerificationResult
316
318
  | VisionPrescription;
@@ -0,0 +1,153 @@
1
+ /*
2
+ * Generated by @medplum/generator
3
+ * Do not edit manually.
4
+ */
5
+
6
+ import { Meta } from './Meta';
7
+
8
+ /**
9
+ * User specific configuration for the Medplum application.
10
+ */
11
+ export interface UserConfiguration {
12
+
13
+ /**
14
+ * This is a UserConfiguration resource
15
+ */
16
+ readonly resourceType: 'UserConfiguration';
17
+
18
+ /**
19
+ * The logical id of the resource, as used in the URL for the resource.
20
+ * Once assigned, this value never changes.
21
+ */
22
+ readonly id?: string;
23
+
24
+ /**
25
+ * The metadata about the resource. This is content that is maintained by
26
+ * the infrastructure. Changes to the content might not always be
27
+ * associated with version changes to the resource.
28
+ */
29
+ readonly meta?: Meta;
30
+
31
+ /**
32
+ * A reference to a set of rules that were followed when the resource was
33
+ * constructed, and which must be understood when processing the content.
34
+ * Often, this is a reference to an implementation guide that defines the
35
+ * special rules along with other profiles etc.
36
+ */
37
+ readonly implicitRules?: string;
38
+
39
+ /**
40
+ * The base language in which the resource is written.
41
+ */
42
+ readonly language?: string;
43
+
44
+ /**
45
+ * A name associated with the UserConfiguration.
46
+ */
47
+ readonly name?: string;
48
+
49
+ /**
50
+ * Optional menu of shortcuts to URLs.
51
+ */
52
+ readonly menu?: UserConfigurationMenu[];
53
+
54
+ /**
55
+ * Shortcut links to URLs.
56
+ */
57
+ readonly search?: UserConfigurationSearch[];
58
+
59
+ /**
60
+ * User options that control the display of the application.
61
+ */
62
+ readonly option?: UserConfigurationOption[];
63
+ }
64
+
65
+ /**
66
+ * Optional menu of shortcuts to URLs.
67
+ */
68
+ export interface UserConfigurationMenu {
69
+
70
+ /**
71
+ * Title of the menu.
72
+ */
73
+ readonly title?: string;
74
+
75
+ /**
76
+ * Shortcut links to URLs.
77
+ */
78
+ readonly link?: UserConfigurationMenuLink[];
79
+ }
80
+
81
+ /**
82
+ * Shortcut links to URLs.
83
+ */
84
+ export interface UserConfigurationMenuLink {
85
+
86
+ /**
87
+ * The human friendly name of the link.
88
+ */
89
+ readonly name?: string;
90
+
91
+ /**
92
+ * The URL target of the link.
93
+ */
94
+ readonly target?: string;
95
+ }
96
+
97
+ /**
98
+ * User options that control the display of the application.
99
+ */
100
+ export interface UserConfigurationOption {
101
+
102
+ /**
103
+ * The unique identifier of the option.
104
+ */
105
+ readonly id?: string;
106
+
107
+ /**
108
+ * Value of option - must be one of a constrained set of the data types
109
+ * (see [Extensibility](extensibility.html) for a list).
110
+ */
111
+ readonly valueBoolean?: boolean;
112
+
113
+ /**
114
+ * Value of option - must be one of a constrained set of the data types
115
+ * (see [Extensibility](extensibility.html) for a list).
116
+ */
117
+ readonly valueCode?: string;
118
+
119
+ /**
120
+ * Value of option - must be one of a constrained set of the data types
121
+ * (see [Extensibility](extensibility.html) for a list).
122
+ */
123
+ readonly valueDecimal?: number;
124
+
125
+ /**
126
+ * Value of option - must be one of a constrained set of the data types
127
+ * (see [Extensibility](extensibility.html) for a list).
128
+ */
129
+ readonly valueInteger?: number;
130
+
131
+ /**
132
+ * Value of option - must be one of a constrained set of the data types
133
+ * (see [Extensibility](extensibility.html) for a list).
134
+ */
135
+ readonly valueString?: string;
136
+ }
137
+
138
+ /**
139
+ * Shortcut links to URLs.
140
+ */
141
+ export interface UserConfigurationSearch {
142
+
143
+ /**
144
+ * The human friendly name of the link.
145
+ */
146
+ readonly name?: string;
147
+
148
+ /**
149
+ * The rules that the server should use to determine which resources to
150
+ * return.
151
+ */
152
+ readonly criteria?: string;
153
+ }
package/dist/index.d.ts CHANGED
@@ -196,6 +196,7 @@ export * from './Timing';
196
196
  export * from './TriggerDefinition';
197
197
  export * from './UsageContext';
198
198
  export * from './User';
199
+ export * from './UserConfiguration';
199
200
  export * from './ValueSet';
200
201
  export * from './VerificationResult';
201
202
  export * from './VisionPrescription';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/fhirtypes",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Medplum FHIR Type Definitions",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",