@icure/cardinal-sdk 2.13.1 → 2.13.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.
@@ -10,6 +10,10 @@ export declare namespace SecretIdShareOptions {
10
10
  * @param requireAtLeastOne if true the sharing will fail if the current user can't access any secret id of the entity
11
11
  */
12
12
  class AllAvailable {
13
+ /**
14
+ * Share all available secret ids
15
+ * @param requireAtLeastOne if true the sharing will fail if the current user can't access any secret id of the entity
16
+ * / */
13
17
  requireAtLeastOne: boolean;
14
18
  readonly $ktClass: 'com.icure.cardinal.sdk.crypto.entities.SecretIdShareOptions.AllAvailable';
15
19
  constructor(partial: Partial<AllAvailable>);
@@ -8,6 +8,10 @@ export var SecretIdShareOptions;
8
8
  */
9
9
  class AllAvailable {
10
10
  constructor(partial) {
11
+ /**
12
+ * Share all available secret ids
13
+ * @param requireAtLeastOne if true the sharing will fail if the current user can't access any secret id of the entity
14
+ * / */
11
15
  this.requireAtLeastOne = false;
12
16
  this.$ktClass = 'com.icure.cardinal.sdk.crypto.entities.SecretIdShareOptions.AllAvailable';
13
17
  if ('requireAtLeastOne' in partial && partial.requireAtLeastOne !== undefined)
@@ -24,6 +24,11 @@ export declare namespace SecretIdUseOption {
24
24
  * Note that the SDK will not check that the secret id you used is actually a secret id of the owning entity.
25
25
  */
26
26
  class Use {
27
+ /**
28
+ * Specify explicitly which secret ids to use. The secretIds can also be empty, in which case the value is
29
+ * equivalent to [UseNone].
30
+ * Note that the SDK will not check that the secret id you used is actually a secret id of the owning entity.
31
+ * / */
27
32
  secretIds: Array<string>;
28
33
  readonly $ktClass: 'com.icure.cardinal.sdk.crypto.entities.SecretIdUseOption.Use';
29
34
  constructor(partial: Partial<Use> & Pick<Use, "secretIds">);
package/crypto.d.mts CHANGED
@@ -1,45 +1,45 @@
1
1
  export * from './crypto/CryptoStrategies.mjs';
2
2
  export * from './crypto/CryptoService.mjs';
3
- export * from './crypto/entities/TopicDelegateOptions.mjs';
4
- export * from './crypto/entities/ContactShareOptions.mjs';
5
- export * from './crypto/entities/InvoiceDelegateOptions.mjs';
3
+ export * from './crypto/entities/SecretIdUseOption.mjs';
6
4
  export * from './crypto/entities/HealthElementShareOptions.mjs';
5
+ export * from './crypto/entities/MaintenanceTaskShareOptions.mjs';
6
+ export * from './crypto/entities/HealthElementDelegateOptions.mjs';
7
+ export * from './crypto/entities/RecoveryDataUseFailureReason.mjs';
8
+ export * from './crypto/entities/RecoveryKeyOptions.mjs';
9
+ export * from './crypto/entities/ClassificationShareOptions.mjs';
10
+ export * from './crypto/entities/TopicDelegateOptions.mjs';
11
+ export * from './crypto/entities/CalendarItemDelegateOptions.mjs';
12
+ export * from './crypto/entities/InvoiceShareOptions.mjs';
7
13
  export * from './crypto/entities/MessageDelegateOptions.mjs';
8
- export * from './crypto/entities/MessageShareOptions.mjs';
14
+ export * from './crypto/entities/DelegateShareOptions.mjs';
9
15
  export * from './crypto/entities/PatientShareOptions.mjs';
10
- export * from './crypto/entities/ShamirUpdateRequest.mjs';
11
- export * from './crypto/entities/ReceiptDelegateOptions.mjs';
12
- export * from './crypto/entities/EntityWithEncryptionMetadataTypeName.mjs';
16
+ export * from './crypto/entities/ContactDelegateOptions.mjs';
17
+ export * from './crypto/entities/DocumentDelegateOptions.mjs';
18
+ export * from './crypto/entities/RelatedPersonShareOptions.mjs';
19
+ export * from './crypto/entities/DocumentShareOptions.mjs';
13
20
  export * from './crypto/entities/FormShareOptions.mjs';
21
+ export * from './crypto/entities/CalendarItemShareOptions.mjs';
22
+ export * from './crypto/entities/EntityWithTypeInfo.mjs';
14
23
  export * from './crypto/entities/ReceiptShareOptions.mjs';
15
- export * from './crypto/entities/TopicShareOptions.mjs';
16
- export * from './crypto/entities/AccessLogDelegateOptions.mjs';
24
+ export * from './crypto/entities/ContactShareOptions.mjs';
17
25
  export * from './crypto/entities/ShareMetadataBehaviour.mjs';
18
- export * from './crypto/entities/RelatedPersonShareOptions.mjs';
19
- export * from './crypto/entities/ContactDelegateOptions.mjs';
20
- export * from './crypto/entities/AccessLogShareOptions.mjs';
26
+ export * from './crypto/entities/RelatedPersonDelegateOptions.mjs';
27
+ export * from './crypto/entities/RecoveryDataKey.mjs';
28
+ export * from './crypto/entities/ReceiptDelegateOptions.mjs';
29
+ export * from './crypto/entities/RecoveryKeySize.mjs';
30
+ export * from './crypto/entities/EntityWithEncryptionMetadataTypeName.mjs';
31
+ export * from './crypto/entities/ExchangeDataInjectionDetails.mjs';
21
32
  export * from './crypto/entities/ShareAllPatientDataOptions.mjs';
33
+ export * from './crypto/entities/FormDelegateOptions.mjs';
34
+ export * from './crypto/entities/TopicShareOptions.mjs';
22
35
  export * from './crypto/entities/RawDecryptedExchangeData.mjs';
23
- export * from './crypto/entities/SecretIdUseOption.mjs';
24
- export * from './crypto/entities/RecoveryDataUseFailureReason.mjs';
25
- export * from './crypto/entities/ExchangeDataInjectionDetails.mjs';
26
- export * from './crypto/entities/HealthElementDelegateOptions.mjs';
27
- export * from './crypto/entities/CalendarItemDelegateOptions.mjs';
28
- export * from './crypto/entities/DelegateShareOptions.mjs';
29
- export * from './crypto/entities/InvoiceShareOptions.mjs';
30
- export * from './crypto/entities/RecoveryKeySize.mjs';
31
- export * from './crypto/entities/CalendarItemShareOptions.mjs';
32
- export * from './crypto/entities/EntityWithTypeInfo.mjs';
36
+ export * from './crypto/entities/AccessLogDelegateOptions.mjs';
37
+ export * from './crypto/entities/ShamirUpdateRequest.mjs';
33
38
  export * from './crypto/entities/PatientDelegateOptions.mjs';
34
- export * from './crypto/entities/FormDelegateOptions.mjs';
35
- export * from './crypto/entities/SecretIdShareOptions.mjs';
36
- export * from './crypto/entities/EntityAccessInformation.mjs';
37
- export * from './crypto/entities/RecoveryResult.mjs';
38
- export * from './crypto/entities/RecoveryKeyOptions.mjs';
39
- export * from './crypto/entities/DocumentDelegateOptions.mjs';
40
- export * from './crypto/entities/RecoveryDataKey.mjs';
41
- export * from './crypto/entities/MaintenanceTaskShareOptions.mjs';
42
39
  export * from './crypto/entities/FailedRequestDetails.mjs';
43
- export * from './crypto/entities/ClassificationShareOptions.mjs';
44
- export * from './crypto/entities/DocumentShareOptions.mjs';
45
- export * from './crypto/entities/RelatedPersonDelegateOptions.mjs';
40
+ export * from './crypto/entities/RecoveryResult.mjs';
41
+ export * from './crypto/entities/MessageShareOptions.mjs';
42
+ export * from './crypto/entities/InvoiceDelegateOptions.mjs';
43
+ export * from './crypto/entities/EntityAccessInformation.mjs';
44
+ export * from './crypto/entities/AccessLogShareOptions.mjs';
45
+ export * from './crypto/entities/SecretIdShareOptions.mjs';
package/crypto.mjs CHANGED
@@ -1,45 +1,45 @@
1
1
  export * from './crypto/CryptoStrategies.mjs';
2
2
  export * from './crypto/CryptoService.mjs';
3
- export * from './crypto/entities/TopicDelegateOptions.mjs';
4
- export * from './crypto/entities/ContactShareOptions.mjs';
5
- export * from './crypto/entities/InvoiceDelegateOptions.mjs';
3
+ export * from './crypto/entities/SecretIdUseOption.mjs';
6
4
  export * from './crypto/entities/HealthElementShareOptions.mjs';
5
+ export * from './crypto/entities/MaintenanceTaskShareOptions.mjs';
6
+ export * from './crypto/entities/HealthElementDelegateOptions.mjs';
7
+ export * from './crypto/entities/RecoveryDataUseFailureReason.mjs';
8
+ export * from './crypto/entities/RecoveryKeyOptions.mjs';
9
+ export * from './crypto/entities/ClassificationShareOptions.mjs';
10
+ export * from './crypto/entities/TopicDelegateOptions.mjs';
11
+ export * from './crypto/entities/CalendarItemDelegateOptions.mjs';
12
+ export * from './crypto/entities/InvoiceShareOptions.mjs';
7
13
  export * from './crypto/entities/MessageDelegateOptions.mjs';
8
- export * from './crypto/entities/MessageShareOptions.mjs';
14
+ export * from './crypto/entities/DelegateShareOptions.mjs';
9
15
  export * from './crypto/entities/PatientShareOptions.mjs';
10
- export * from './crypto/entities/ShamirUpdateRequest.mjs';
11
- export * from './crypto/entities/ReceiptDelegateOptions.mjs';
12
- export * from './crypto/entities/EntityWithEncryptionMetadataTypeName.mjs';
16
+ export * from './crypto/entities/ContactDelegateOptions.mjs';
17
+ export * from './crypto/entities/DocumentDelegateOptions.mjs';
18
+ export * from './crypto/entities/RelatedPersonShareOptions.mjs';
19
+ export * from './crypto/entities/DocumentShareOptions.mjs';
13
20
  export * from './crypto/entities/FormShareOptions.mjs';
21
+ export * from './crypto/entities/CalendarItemShareOptions.mjs';
22
+ export * from './crypto/entities/EntityWithTypeInfo.mjs';
14
23
  export * from './crypto/entities/ReceiptShareOptions.mjs';
15
- export * from './crypto/entities/TopicShareOptions.mjs';
16
- export * from './crypto/entities/AccessLogDelegateOptions.mjs';
24
+ export * from './crypto/entities/ContactShareOptions.mjs';
17
25
  export * from './crypto/entities/ShareMetadataBehaviour.mjs';
18
- export * from './crypto/entities/RelatedPersonShareOptions.mjs';
19
- export * from './crypto/entities/ContactDelegateOptions.mjs';
20
- export * from './crypto/entities/AccessLogShareOptions.mjs';
26
+ export * from './crypto/entities/RelatedPersonDelegateOptions.mjs';
27
+ export * from './crypto/entities/RecoveryDataKey.mjs';
28
+ export * from './crypto/entities/ReceiptDelegateOptions.mjs';
29
+ export * from './crypto/entities/RecoveryKeySize.mjs';
30
+ export * from './crypto/entities/EntityWithEncryptionMetadataTypeName.mjs';
31
+ export * from './crypto/entities/ExchangeDataInjectionDetails.mjs';
21
32
  export * from './crypto/entities/ShareAllPatientDataOptions.mjs';
33
+ export * from './crypto/entities/FormDelegateOptions.mjs';
34
+ export * from './crypto/entities/TopicShareOptions.mjs';
22
35
  export * from './crypto/entities/RawDecryptedExchangeData.mjs';
23
- export * from './crypto/entities/SecretIdUseOption.mjs';
24
- export * from './crypto/entities/RecoveryDataUseFailureReason.mjs';
25
- export * from './crypto/entities/ExchangeDataInjectionDetails.mjs';
26
- export * from './crypto/entities/HealthElementDelegateOptions.mjs';
27
- export * from './crypto/entities/CalendarItemDelegateOptions.mjs';
28
- export * from './crypto/entities/DelegateShareOptions.mjs';
29
- export * from './crypto/entities/InvoiceShareOptions.mjs';
30
- export * from './crypto/entities/RecoveryKeySize.mjs';
31
- export * from './crypto/entities/CalendarItemShareOptions.mjs';
32
- export * from './crypto/entities/EntityWithTypeInfo.mjs';
36
+ export * from './crypto/entities/AccessLogDelegateOptions.mjs';
37
+ export * from './crypto/entities/ShamirUpdateRequest.mjs';
33
38
  export * from './crypto/entities/PatientDelegateOptions.mjs';
34
- export * from './crypto/entities/FormDelegateOptions.mjs';
35
- export * from './crypto/entities/SecretIdShareOptions.mjs';
36
- export * from './crypto/entities/EntityAccessInformation.mjs';
37
- export * from './crypto/entities/RecoveryResult.mjs';
38
- export * from './crypto/entities/RecoveryKeyOptions.mjs';
39
- export * from './crypto/entities/DocumentDelegateOptions.mjs';
40
- export * from './crypto/entities/RecoveryDataKey.mjs';
41
- export * from './crypto/entities/MaintenanceTaskShareOptions.mjs';
42
39
  export * from './crypto/entities/FailedRequestDetails.mjs';
43
- export * from './crypto/entities/ClassificationShareOptions.mjs';
44
- export * from './crypto/entities/DocumentShareOptions.mjs';
45
- export * from './crypto/entities/RelatedPersonDelegateOptions.mjs';
40
+ export * from './crypto/entities/RecoveryResult.mjs';
41
+ export * from './crypto/entities/MessageShareOptions.mjs';
42
+ export * from './crypto/entities/InvoiceDelegateOptions.mjs';
43
+ export * from './crypto/entities/EntityAccessInformation.mjs';
44
+ export * from './crypto/entities/AccessLogShareOptions.mjs';
45
+ export * from './crypto/entities/SecretIdShareOptions.mjs';
package/filters.d.mts CHANGED
@@ -1,21 +1,21 @@
1
- export * from './filters/DocumentFilters.mjs';
2
- export * from './filters/TopicFilters.mjs';
1
+ export * from './filters/ContactFilters.mjs';
3
2
  export * from './filters/PatientFilters.mjs';
4
- export * from './filters/MessageFilters.mjs';
5
- export * from './filters/AccessLogFilters.mjs';
6
- export * from './filters/GroupFilters.mjs';
7
- export * from './filters/RelatedPersonFilters.mjs';
8
- export * from './filters/HealthElementFilters.mjs';
9
- export * from './filters/DeviceFilters.mjs';
10
- export * from './filters/CodeFilters.mjs';
11
- export * from './filters/AgendaFilters.mjs';
12
- export * from './filters/FormFilters.mjs';
13
- export * from './filters/ServiceFilters.mjs';
14
- export * from './filters/MetaFilters.mjs';
15
- export * from './filters/UserFilters.mjs';
16
- export * from './filters/FormTemplateFilters.mjs';
17
3
  export * from './filters/HealthcarePartyFilters.mjs';
18
- export * from './filters/ContactFilters.mjs';
19
4
  export * from './filters/MaintenanceTaskFilters.mjs';
20
5
  export * from './filters/CalendarItemFilters.mjs';
21
6
  export * from './filters/InsuranceFilters.mjs';
7
+ export * from './filters/DocumentFilters.mjs';
8
+ export * from './filters/DeviceFilters.mjs';
9
+ export * from './filters/AgendaFilters.mjs';
10
+ export * from './filters/CodeFilters.mjs';
11
+ export * from './filters/AccessLogFilters.mjs';
12
+ export * from './filters/UserFilters.mjs';
13
+ export * from './filters/HealthElementFilters.mjs';
14
+ export * from './filters/MetaFilters.mjs';
15
+ export * from './filters/MessageFilters.mjs';
16
+ export * from './filters/FormTemplateFilters.mjs';
17
+ export * from './filters/TopicFilters.mjs';
18
+ export * from './filters/FormFilters.mjs';
19
+ export * from './filters/ServiceFilters.mjs';
20
+ export * from './filters/GroupFilters.mjs';
21
+ export * from './filters/RelatedPersonFilters.mjs';
package/filters.mjs CHANGED
@@ -1,21 +1,21 @@
1
- export * from './filters/DocumentFilters.mjs';
2
- export * from './filters/TopicFilters.mjs';
1
+ export * from './filters/ContactFilters.mjs';
3
2
  export * from './filters/PatientFilters.mjs';
4
- export * from './filters/MessageFilters.mjs';
5
- export * from './filters/AccessLogFilters.mjs';
6
- export * from './filters/GroupFilters.mjs';
7
- export * from './filters/RelatedPersonFilters.mjs';
8
- export * from './filters/HealthElementFilters.mjs';
9
- export * from './filters/DeviceFilters.mjs';
10
- export * from './filters/CodeFilters.mjs';
11
- export * from './filters/AgendaFilters.mjs';
12
- export * from './filters/FormFilters.mjs';
13
- export * from './filters/ServiceFilters.mjs';
14
- export * from './filters/MetaFilters.mjs';
15
- export * from './filters/UserFilters.mjs';
16
- export * from './filters/FormTemplateFilters.mjs';
17
3
  export * from './filters/HealthcarePartyFilters.mjs';
18
- export * from './filters/ContactFilters.mjs';
19
4
  export * from './filters/MaintenanceTaskFilters.mjs';
20
5
  export * from './filters/CalendarItemFilters.mjs';
21
6
  export * from './filters/InsuranceFilters.mjs';
7
+ export * from './filters/DocumentFilters.mjs';
8
+ export * from './filters/DeviceFilters.mjs';
9
+ export * from './filters/AgendaFilters.mjs';
10
+ export * from './filters/CodeFilters.mjs';
11
+ export * from './filters/AccessLogFilters.mjs';
12
+ export * from './filters/UserFilters.mjs';
13
+ export * from './filters/HealthElementFilters.mjs';
14
+ export * from './filters/MetaFilters.mjs';
15
+ export * from './filters/MessageFilters.mjs';
16
+ export * from './filters/FormTemplateFilters.mjs';
17
+ export * from './filters/TopicFilters.mjs';
18
+ export * from './filters/FormFilters.mjs';
19
+ export * from './filters/ServiceFilters.mjs';
20
+ export * from './filters/GroupFilters.mjs';
21
+ export * from './filters/RelatedPersonFilters.mjs';
@@ -48,12 +48,6 @@ if (typeof Math.clz32 === 'undefined') {
48
48
  };
49
49
  }(Math.log, Math.LN2);
50
50
  }
51
- if (typeof String.prototype.startsWith === 'undefined') {
52
- Object.defineProperty(String.prototype, 'startsWith', {value: function (searchString, position) {
53
- position = position || 0;
54
- return this.lastIndexOf(searchString, position) === position;
55
- }});
56
- }
57
51
  if (typeof String.prototype.endsWith === 'undefined') {
58
52
  Object.defineProperty(String.prototype, 'endsWith', {value: function (searchString, position) {
59
53
  var subjectString = this.toString();
@@ -65,6 +59,12 @@ if (typeof String.prototype.endsWith === 'undefined') {
65
59
  return lastIndex !== -1 && lastIndex === position;
66
60
  }});
67
61
  }
62
+ if (typeof String.prototype.startsWith === 'undefined') {
63
+ Object.defineProperty(String.prototype, 'startsWith', {value: function (searchString, position) {
64
+ position = position || 0;
65
+ return this.lastIndexOf(searchString, position) === position;
66
+ }});
67
+ }
68
68
  //endregion
69
69
  //region block: imports
70
70
  var imul_0 = Math.imul;
@@ -235,11 +235,6 @@ initMetadataForClass(BufferedChannelIterator, 'BufferedChannelIterator', VOID, V
235
235
  initMetadataForCoroutine($sendCOROUTINE$, CoroutineImpl);
236
236
  initMetadataForCoroutine($receiveCOROUTINE$, CoroutineImpl);
237
237
  initMetadataForCoroutine($receiveCatchingCOROUTINE$, CoroutineImpl);
238
- function close$default(cause, $super) {
239
- cause = cause === VOID ? null : cause;
240
- return $super === VOID ? this.s1d(cause) : $super.s1d.call(this, cause);
241
- }
242
- initMetadataForInterface(SendChannel, 'SendChannel', VOID, VOID, VOID, [1]);
243
238
  function cancel$default_0(cause, $super) {
244
239
  cause = cause === VOID ? null : cause;
245
240
  var tmp;
@@ -252,7 +247,12 @@ function cancel$default_0(cause, $super) {
252
247
  return tmp;
253
248
  }
254
249
  initMetadataForInterface(ReceiveChannel, 'ReceiveChannel', VOID, VOID, VOID, [0]);
255
- initMetadataForClass(BufferedChannel, 'BufferedChannel', VOID, VOID, [SendChannel, ReceiveChannel], [1, 4, 0, 3]);
250
+ function close$default(cause, $super) {
251
+ cause = cause === VOID ? null : cause;
252
+ return $super === VOID ? this.s1d(cause) : $super.s1d.call(this, cause);
253
+ }
254
+ initMetadataForInterface(SendChannel, 'SendChannel', VOID, VOID, VOID, [1]);
255
+ initMetadataForClass(BufferedChannel, 'BufferedChannel', VOID, VOID, [ReceiveChannel, SendChannel], [1, 4, 0, 3]);
256
256
  initMetadataForClass(WaiterEB, 'WaiterEB');
257
257
  initMetadataForClass(ReceiveCatching, 'ReceiveCatching', VOID, VOID, [Waiter]);
258
258
  initMetadataForObject(Factory, 'Factory');
@@ -262,7 +262,7 @@ initMetadataForCompanion(Companion);
262
262
  initMetadataForClass(ChannelResult, 'ChannelResult');
263
263
  initMetadataForClass(ClosedReceiveChannelException, 'ClosedReceiveChannelException', VOID, NoSuchElementException);
264
264
  initMetadataForClass(ClosedSendChannelException, 'ClosedSendChannelException', VOID, IllegalStateException);
265
- initMetadataForClass(ChannelCoroutine, 'ChannelCoroutine', VOID, AbstractCoroutine, [SendChannel, ReceiveChannel], [1, 0]);
265
+ initMetadataForClass(ChannelCoroutine, 'ChannelCoroutine', VOID, AbstractCoroutine, [ReceiveChannel, SendChannel], [1, 0]);
266
266
  initMetadataForClass(ConflatedBufferedChannel, 'ConflatedBufferedChannel', VOID, BufferedChannel, VOID, [1, 0]);
267
267
  initMetadataForInterface(ProducerScope, 'ProducerScope', VOID, VOID, [CoroutineScope, SendChannel], [1]);
268
268
  initMetadataForClass(ProducerCoroutine, 'ProducerCoroutine', VOID, ChannelCoroutine, [ProducerScope], [1, 0]);
@@ -9,7 +9,25 @@
9
9
  * instances of the SDK working on a different base group, can cause errors and other unexpected behavior.
10
10
  */
11
11
  export declare class GroupScoped<E> {
12
+ /**
13
+ * Wraps an entity and associates it with the group it exists in.
14
+ *
15
+ * In-group api methods take in input and return group scoped entities.
16
+ *
17
+ * To prevent mistakes, you shouldn't instantiate this class yourself, instead you should always get the GroupScoped
18
+ * entity from the `inGroup` methods of the apis. Using GroupScoped entities with the wrong groupId, or created by
19
+ * instances of the SDK working on a different base group, can cause errors and other unexpected behavior.
20
+ * / */
12
21
  entity: E;
22
+ /**
23
+ * Wraps an entity and associates it with the group it exists in.
24
+ *
25
+ * In-group api methods take in input and return group scoped entities.
26
+ *
27
+ * To prevent mistakes, you shouldn't instantiate this class yourself, instead you should always get the GroupScoped
28
+ * entity from the `inGroup` methods of the apis. Using GroupScoped entities with the wrong groupId, or created by
29
+ * instances of the SDK working on a different base group, can cause errors and other unexpected behavior.
30
+ * / */
13
31
  groupId: string;
14
32
  constructor(partial: Partial<GroupScoped<E>> & Pick<GroupScoped<E>, "entity" | "groupId">);
15
33
  }
@@ -1,12 +1,17 @@
1
1
  /**
2
2
  *
3
3
  *
4
- * The kind of entity a health element asserter's asserterId refers to.
4
+ * The kind of entity a health element asserter's
5
+ * [HealthElementAsserterDto.LocalAsserterIdentifier.id] refers to.
5
6
  *
6
7
  * This is the *entity-kind* axis, not the role axis: it says what sort of record the id points at,
7
8
  * not what part the
8
9
  * party played in the assertion. Do not confuse it with ParticipantTypeDto.
9
10
  *
11
+ * It applies to the *local* branch of [HealthElementAsserterDto] only: an asserter named by
12
+ * [HealthElementAsserterDto.externalAsserterIdentifier] has no record here, so it carries no
13
+ * entity kind.
14
+ *
10
15
  * The entries deliberately mirror [PartnerTypeDto], which answers the same question for a
11
16
  * partnership's partnerId. The
12
17
  * two enums are kept separate on purpose: partnership vocabulary and asserter vocabulary are free
@@ -2,12 +2,17 @@
2
2
  /**
3
3
  *
4
4
  *
5
- * The kind of entity a health element asserter's asserterId refers to.
5
+ * The kind of entity a health element asserter's
6
+ * [HealthElementAsserterDto.LocalAsserterIdentifier.id] refers to.
6
7
  *
7
8
  * This is the *entity-kind* axis, not the role axis: it says what sort of record the id points at,
8
9
  * not what part the
9
10
  * party played in the assertion. Do not confuse it with ParticipantTypeDto.
10
11
  *
12
+ * It applies to the *local* branch of [HealthElementAsserterDto] only: an asserter named by
13
+ * [HealthElementAsserterDto.externalAsserterIdentifier] has no record here, so it carries no
14
+ * entity kind.
15
+ *
11
16
  * The entries deliberately mirror [PartnerTypeDto], which answers the same question for a
12
17
  * partnership's partnerId. The
13
18
  * two enums are kept separate on purpose: partnership vocabulary and asserter vocabulary are free
@@ -1,3 +1,4 @@
1
+ import { Identifier } from '../base/Identifier.mjs';
1
2
  import { AsserterType } from './AsserterType.mjs';
2
3
  /**
3
4
  *
@@ -12,38 +13,79 @@ import { AsserterType } from './AsserterType.mjs';
12
13
  * are asserters, and the
13
14
  * same healthcare element may carry more than one of them.
14
15
  *
15
- * The two fields must agree: [asserterType] declares which kind of entity [asserterId] points at.
16
- * [AsserterTypeDto]
17
- * bounds the vocabulary, but nothing enforces the *pairing* - the field is encrypted, so the
18
- * server never sees the
19
- * values and cannot validate or repair them; that invariant is owned by the SDK.
16
+ * The party is named in exactly one of two ways, and exactly one of the two fields must be set:
17
+ * - [localAsserterIdentifier] names a party stored in this iCure instance: an id, plus the
18
+ * [AsserterTypeDto] saying
19
+ * which kind of record that id points at;
20
+ * - [externalAsserterIdentifier] names a party that has no record here, through a business
21
+ * [IdentifierDto] issued by
22
+ * another system. There is deliberately no [AsserterTypeDto] on this branch: the kind of a
23
+ * record we do not store is
24
+ * not knowable to us.
25
+ *
26
+ * The exactly-one rule is **not** checked on this DTO. It is checked one layer down, in
27
+ * `HealthElementAsserter`'s
28
+ * `init`: mapping this DTO constructs one, so a violation still surfaces as a `400`, and the rule
29
+ * also covers the write
30
+ * paths that never build a DTO at all. This class only checks that [LocalAsserterIdentifier.id] is
31
+ * not blank. Nothing
32
+ * enforces the *pairing* inside [LocalAsserterIdentifier]: [AsserterTypeDto] bounds the
33
+ * vocabulary, not what
34
+ * [LocalAsserterIdentifier.id] actually points at; that invariant is owned by the SDK.
20
35
  *
21
36
  * Note on organisations: an organisation (hospital, practice, care home, ...) is not a distinct
22
37
  * asserter type.
23
38
  * Organisations are stored as healthcare party records, distinguished from individual
24
39
  * practitioners by tags set by the
25
- * client, so an organisation asserter is an entry with `asserterType =
26
- * AsserterTypeDto.healthcareParty` whose
27
- * [asserterId] points to such a record. The association between a practitioner and the
28
- * organisation they were acting
29
- * for at the time of the assertion is deliberately NOT modelled here.
40
+ * client, so an organisation asserter is a [localAsserterIdentifier] with `type =
41
+ * AsserterTypeDto.healthcareParty`
42
+ * whose `id` points to such a record. The association between a practitioner and the organisation
43
+ * they were acting for
44
+ * at the time of the assertion is deliberately NOT modelled here.
30
45
  */
31
46
  export declare class HealthElementAsserter {
32
47
  /**
33
48
  *
34
- * The id of the entity making the assertion. Which entity it refers to is given by [asserterType].
35
49
  *
50
+ * The asserting party, as a reference to a record stored in this instance. Null when the party is
51
+ * named by
52
+ * [externalAsserterIdentifier].
36
53
  */
37
- asserterId: string;
54
+ localAsserterIdentifier: HealthElementAsserter.LocalAsserterIdentifier | undefined;
38
55
  /**
39
56
  *
40
57
  *
41
- * The kind of entity [asserterId] refers to. This is the kind of entity, not the role the party
42
- * played - do not
43
- * confuse it with ParticipantTypeDto.
58
+ * The asserting party, as a business identifier from a system that is not this one. Null when the
59
+ * party is named by
60
+ * [localAsserterIdentifier]. Carries no [AsserterTypeDto].
44
61
  */
45
- asserterType: AsserterType;
46
- constructor(partial: Partial<HealthElementAsserter> & Pick<HealthElementAsserter, "asserterId" | "asserterType">);
62
+ externalAsserterIdentifier: Identifier | undefined;
63
+ constructor(partial: Partial<HealthElementAsserter>);
47
64
  toJSON(): object;
48
65
  static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array<string>): HealthElementAsserter;
49
66
  }
67
+ export declare namespace HealthElementAsserter {
68
+ /**
69
+ *
70
+ *
71
+ * A reference to the record, stored in iCure.
72
+ */
73
+ class LocalAsserterIdentifier {
74
+ /**
75
+ *
76
+ * The id of the entity making the assertion. Which entity it refers to is given by [type].
77
+ */
78
+ id: string;
79
+ /**
80
+ *
81
+ *
82
+ * The kind of entity [id] refers to. This is the kind of entity, not the role the party played -
83
+ * do not
84
+ * confuse it with ParticipantTypeDto.
85
+ */
86
+ type: AsserterType;
87
+ constructor(partial: Partial<LocalAsserterIdentifier> & Pick<LocalAsserterIdentifier, "type">);
88
+ toJSON(): object;
89
+ static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array<string>): LocalAsserterIdentifier;
90
+ }
91
+ }