gdc-common-utils-ts 2.1.0 → 2.2.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.
Files changed (154) hide show
  1. package/README.md +18 -0
  2. package/dist/claims/claims-helpers-allergy-intolerance.d.ts +8 -0
  3. package/dist/claims/claims-helpers-allergy-intolerance.js +30 -12
  4. package/dist/claims/claims-helpers-condition.d.ts +8 -0
  5. package/dist/claims/claims-helpers-condition.js +30 -12
  6. package/dist/claims/claims-helpers-consent.d.ts +4 -0
  7. package/dist/claims/claims-helpers-consent.js +15 -1
  8. package/dist/claims/claims-helpers-diagnostic-report.d.ts +4 -0
  9. package/dist/claims/claims-helpers-diagnostic-report.js +17 -2
  10. package/dist/claims/claims-helpers-medication-statement.d.ts +10 -2
  11. package/dist/claims/claims-helpers-medication-statement.js +32 -14
  12. package/dist/constants/didcomm.d.ts +22 -0
  13. package/dist/constants/didcomm.js +22 -0
  14. package/dist/constants/fhir-resource-types.d.ts +2 -0
  15. package/dist/constants/fhir-resource-types.js +1 -0
  16. package/dist/constants/index.d.ts +1 -0
  17. package/dist/constants/index.js +1 -0
  18. package/dist/constants/lifecycle.d.ts +2 -0
  19. package/dist/constants/lifecycle.js +2 -0
  20. package/dist/constants/verifiable-credentials.d.ts +9 -0
  21. package/dist/constants/verifiable-credentials.js +9 -0
  22. package/dist/examples/bundle-didcomm-payload.js +4 -2
  23. package/dist/examples/communication-attached-bundle-session.js +27 -27
  24. package/dist/examples/communication-didcomm-payload.d.ts +8 -4
  25. package/dist/examples/communication-didcomm-payload.js +17 -11
  26. package/dist/examples/consent-access.js +2 -1
  27. package/dist/examples/employee.d.ts +21 -0
  28. package/dist/examples/employee.js +21 -0
  29. package/dist/examples/individual-controller.d.ts +27 -0
  30. package/dist/examples/individual-controller.js +28 -1
  31. package/dist/examples/inter-tenant-access-contract.js +3 -2
  32. package/dist/examples/ips-bundle.js +17 -16
  33. package/dist/examples/lifecycle.js +13 -11
  34. package/dist/examples/profile-manager-mem.js +2 -1
  35. package/dist/examples/related-person.d.ts +14 -0
  36. package/dist/examples/related-person.js +18 -4
  37. package/dist/examples/shared.d.ts +12 -3
  38. package/dist/examples/shared.js +13 -4
  39. package/dist/examples/vital-signs.js +1 -1
  40. package/dist/examples/wallet-mem.js +4 -2
  41. package/dist/models/authority-resolution.d.ts +56 -0
  42. package/dist/models/authority-resolution.js +2 -0
  43. package/dist/models/bundle-editor-types.d.ts +89 -0
  44. package/dist/models/bundle-editor-types.js +45 -0
  45. package/dist/models/bundle.d.ts +5 -0
  46. package/dist/models/communication-attached-bundle-session.d.ts +6 -4
  47. package/dist/models/communication-attached-bundle-session.js +6 -4
  48. package/dist/models/confidential-storage.d.ts +2 -1
  49. package/dist/models/consent-rule.d.ts +11 -1
  50. package/dist/models/consent-rule.js +9 -1
  51. package/dist/models/index.d.ts +2 -0
  52. package/dist/models/index.js +2 -0
  53. package/dist/models/individual-onboarding.d.ts +18 -0
  54. package/dist/models/interoperable-claims/allergy-intolerance-claims.d.ts +12 -1
  55. package/dist/models/interoperable-claims/allergy-intolerance-claims.js +12 -1
  56. package/dist/models/interoperable-claims/condition-claims.d.ts +12 -1
  57. package/dist/models/interoperable-claims/condition-claims.js +12 -1
  58. package/dist/models/interoperable-claims/diagnostic-report-claims.d.ts +13 -2
  59. package/dist/models/interoperable-claims/diagnostic-report-claims.js +12 -1
  60. package/dist/models/interoperable-claims/document-reference-claims.d.ts +1 -0
  61. package/dist/models/interoperable-claims/document-reference-claims.js +3 -0
  62. package/dist/models/interoperable-claims/medication-statement-claims.d.ts +17 -0
  63. package/dist/models/interoperable-claims/medication-statement-claims.js +17 -0
  64. package/dist/utils/allergy-intolerance-entry-editor.d.ts +51 -0
  65. package/dist/utils/allergy-intolerance-entry-editor.js +55 -0
  66. package/dist/utils/authority-resolution.d.ts +37 -0
  67. package/dist/utils/authority-resolution.js +112 -0
  68. package/dist/utils/backend-message-manager-mem.d.ts +11 -0
  69. package/dist/utils/backend-message-manager-mem.js +11 -0
  70. package/dist/utils/bundle-didcomm-payload.js +3 -2
  71. package/dist/utils/bundle-document-builder.d.ts +1 -0
  72. package/dist/utils/bundle-document-builder.js +134 -14
  73. package/dist/utils/bundle-editor-core.d.ts +181 -0
  74. package/dist/utils/bundle-editor-core.js +467 -0
  75. package/dist/utils/bundle-editor-helpers.d.ts +53 -0
  76. package/dist/utils/bundle-editor-helpers.js +146 -0
  77. package/dist/utils/bundle-editor-registry.d.ts +6 -0
  78. package/dist/utils/bundle-editor-registry.js +14 -0
  79. package/dist/utils/bundle-editor.d.ts +21 -722
  80. package/dist/utils/bundle-editor.js +21 -1601
  81. package/dist/utils/bundle-entry-editor.d.ts +96 -0
  82. package/dist/utils/bundle-entry-editor.js +305 -0
  83. package/dist/utils/bundle-query.d.ts +1 -0
  84. package/dist/utils/bundle-query.js +12 -3
  85. package/dist/utils/bundle-reader.d.ts +48 -0
  86. package/dist/utils/bundle-reader.js +175 -1
  87. package/dist/utils/care-plan-entry-editor.d.ts +43 -0
  88. package/dist/utils/care-plan-entry-editor.js +47 -0
  89. package/dist/utils/client-assertion.d.ts +38 -0
  90. package/dist/utils/client-assertion.js +113 -0
  91. package/dist/utils/clinical-impression-entry-editor.d.ts +43 -0
  92. package/dist/utils/clinical-impression-entry-editor.js +47 -0
  93. package/dist/utils/clinical-resource-entry-editor.d.ts +123 -0
  94. package/dist/utils/clinical-resource-entry-editor.js +296 -0
  95. package/dist/utils/communication-attached-bundle-session-helpers.js +8 -6
  96. package/dist/utils/communication-attached-bundle-session.d.ts +29 -3
  97. package/dist/utils/communication-attached-bundle-session.js +62 -3
  98. package/dist/utils/communication-didcomm-payload.d.ts +5 -0
  99. package/dist/utils/communication-didcomm-payload.js +28 -18
  100. package/dist/utils/communication-document-reference.d.ts +23 -0
  101. package/dist/utils/communication-document-reference.js +89 -0
  102. package/dist/utils/communication-editor.d.ts +53 -0
  103. package/dist/utils/communication-editor.js +97 -0
  104. package/dist/utils/condition-entry-editor.d.ts +30 -0
  105. package/dist/utils/condition-entry-editor.js +34 -0
  106. package/dist/utils/consent-claim-helpers.d.ts +4 -0
  107. package/dist/utils/consent-claim-helpers.js +15 -1
  108. package/dist/utils/coverage-entry-editor.d.ts +51 -0
  109. package/dist/utils/coverage-entry-editor.js +55 -0
  110. package/dist/utils/device-entry-editor.d.ts +59 -0
  111. package/dist/utils/device-entry-editor.js +63 -0
  112. package/dist/utils/device-use-statement-entry-editor.d.ts +43 -0
  113. package/dist/utils/device-use-statement-entry-editor.js +47 -0
  114. package/dist/utils/diagnostic-report-entry-editor.d.ts +74 -0
  115. package/dist/utils/diagnostic-report-entry-editor.js +136 -0
  116. package/dist/utils/did.d.ts +8 -0
  117. package/dist/utils/did.js +22 -0
  118. package/dist/utils/document-reference-entry-editor.d.ts +62 -0
  119. package/dist/utils/document-reference-entry-editor.js +66 -0
  120. package/dist/utils/employee-entry-editor.d.ts +36 -0
  121. package/dist/utils/employee-entry-editor.js +88 -0
  122. package/dist/utils/employee.d.ts +1 -0
  123. package/dist/utils/employee.js +2 -1
  124. package/dist/utils/encounter-entry-editor.d.ts +51 -0
  125. package/dist/utils/encounter-entry-editor.js +55 -0
  126. package/dist/utils/flag-entry-editor.d.ts +47 -0
  127. package/dist/utils/flag-entry-editor.js +51 -0
  128. package/dist/utils/immunization-entry-editor.d.ts +87 -0
  129. package/dist/utils/immunization-entry-editor.js +169 -0
  130. package/dist/utils/index.d.ts +7 -0
  131. package/dist/utils/index.js +7 -0
  132. package/dist/utils/individual-onboarding-acceptance-credential.d.ts +35 -0
  133. package/dist/utils/individual-onboarding-acceptance-credential.js +55 -0
  134. package/dist/utils/individual-smart.d.ts +59 -0
  135. package/dist/utils/individual-smart.js +135 -0
  136. package/dist/utils/medication-statement-entry-editor.d.ts +90 -0
  137. package/dist/utils/medication-statement-entry-editor.js +94 -0
  138. package/dist/utils/observation-component-entry-editor.d.ts +57 -0
  139. package/dist/utils/observation-component-entry-editor.js +105 -0
  140. package/dist/utils/observation-entry-editor.d.ts +29 -0
  141. package/dist/utils/observation-entry-editor.js +68 -0
  142. package/dist/utils/procedure-entry-editor.d.ts +71 -0
  143. package/dist/utils/procedure-entry-editor.js +75 -0
  144. package/dist/utils/professional-smart.d.ts +87 -0
  145. package/dist/utils/professional-smart.js +118 -4
  146. package/dist/utils/same-as.d.ts +40 -0
  147. package/dist/utils/same-as.js +72 -0
  148. package/dist/utils/unified-health-id.d.ts +51 -0
  149. package/dist/utils/unified-health-id.js +92 -0
  150. package/dist/utils/vital-sign-day-batch.d.ts +25 -0
  151. package/dist/utils/vital-sign-day-batch.js +115 -0
  152. package/dist/utils/vital-sign-entry-editor.d.ts +61 -0
  153. package/dist/utils/vital-sign-entry-editor.js +152 -0
  154. package/package.json +2 -1
package/README.md CHANGED
@@ -143,6 +143,23 @@ read first:
143
143
  - [`docs/REFERENCE-CLINICAL-IPS-API.md`](docs/REFERENCE-CLINICAL-IPS-API.md)
144
144
  - [`docs/101-CONSENT_PERMISSION_TEMPLATES.md`](docs/101-CONSENT_PERMISSION_TEMPLATES.md)
145
145
 
146
+ Shared batch model for high-frequency clinical measurements:
147
+
148
+ - one day-level vital-sign batch is an atomic clinical artifact
149
+ - several day batches from the same actor are a collection of atomic batch
150
+ artifacts
151
+ - the batch is what moves through Communication and ledger paths; the
152
+ individual observations remain the facts inside it
153
+
154
+ For high-frequency clinical measurements, keep the same mental model across
155
+ packages:
156
+
157
+ - one day-level vital-sign batch is an atomic clinical artifact
158
+ - several day batches from the same actor are a collection of atomic batch
159
+ artifacts
160
+ - the batch is what gets moved through Communication and ledger paths; the
161
+ underlying observations remain the facts inside it
162
+
146
163
  ## Install
147
164
 
148
165
  ```bash
@@ -191,6 +208,7 @@ The `utils` export exposes reusable helpers for DID and message handling, such a
191
208
  - `utils/jwt`
192
209
  - `utils/content`
193
210
  - `utils/normalize`
211
+ - `utils/unified-health-id` for provider-scoped Damm control digits over normalized provider + personal numeric sequences
194
212
  - `utils/fhir-cid` for recursive FHIR canonicalization + CID generation + `meta.versionId` assignment
195
213
  - `utils/fhir-validator` for adapter-based FHIR validation (`validateFhirResource`, pluggable formal validator)
196
214
  - conversion, formatting, and multibase helpers
@@ -4,7 +4,15 @@ export declare function getAllergyIntoleranceClaimList(claims: AllergyIntoleranc
4
4
  export declare function setAllergyIntoleranceClaimList(claims: AllergyIntoleranceInteroperableClaims, claimKey: string, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
5
5
  export declare function addAllergyIntoleranceClaimList(claims: AllergyIntoleranceInteroperableClaims, claimKey: string, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
6
6
  export declare function removeAllergyIntoleranceClaimList(claims: AllergyIntoleranceInteroperableClaims, claimKey: string, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
7
+ export declare function getAllergyIntoleranceContainedResourceReferenceList(claims: AllergyIntoleranceInteroperableClaims): string[];
8
+ export declare function setAllergyIntoleranceContainedResourceReferenceList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
9
+ export declare function addAllergyIntoleranceContainedResourceReferenceList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
10
+ export declare function removeAllergyIntoleranceContainedResourceReferenceList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
11
+ /** @deprecated Use `getAllergyIntoleranceContainedResourceReferenceList`. */
7
12
  export declare function getAllergyIntoleranceContainedDocumentIdentifierList(claims: AllergyIntoleranceInteroperableClaims): string[];
13
+ /** @deprecated Use `setAllergyIntoleranceContainedResourceReferenceList`. */
8
14
  export declare function setAllergyIntoleranceContainedDocumentIdentifierList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
15
+ /** @deprecated Use `addAllergyIntoleranceContainedResourceReferenceList`. */
9
16
  export declare function addAllergyIntoleranceContainedDocumentIdentifierList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
17
+ /** @deprecated Use `removeAllergyIntoleranceContainedResourceReferenceList`. */
10
18
  export declare function removeAllergyIntoleranceContainedDocumentIdentifierList(claims: AllergyIntoleranceInteroperableClaims, values: string | readonly string[]): AllergyIntoleranceInteroperableClaims;
@@ -13,32 +13,50 @@ export function addAllergyIntoleranceClaimList(claims, claimKey, values) {
13
13
  export function removeAllergyIntoleranceClaimList(claims, claimKey, values) {
14
14
  return removeClaimValues(claims, claimKey, values);
15
15
  }
16
- export function getAllergyIntoleranceContainedDocumentIdentifierList(claims) {
16
+ export function getAllergyIntoleranceContainedResourceReferenceList(claims) {
17
17
  return uniqueCsvLists([
18
+ getAllergyIntoleranceClaimList(claims, AllergyIntoleranceClaim.ContainedReferenceList),
18
19
  getAllergyIntoleranceClaimList(claims, AllergyIntoleranceClaim.ContainedDocuments),
19
20
  getAllergyIntoleranceClaimList(claims, AllergyIntoleranceClaim.AttachmentContentIds),
20
21
  ]);
21
22
  }
22
- export function setAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
23
- return setContainedDocuments(claims, values);
23
+ export function setAllergyIntoleranceContainedResourceReferenceList(claims, values) {
24
+ return setContainedResources(claims, values);
24
25
  }
25
- export function addAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
26
- return setContainedDocuments(claims, uniqueCsvLists([
27
- getAllergyIntoleranceContainedDocumentIdentifierList(claims),
28
- Array.isArray(values) ? [...values] : getAllergyIntoleranceClaimList({ [AllergyIntoleranceClaim.ContainedDocuments]: values }, AllergyIntoleranceClaim.ContainedDocuments),
26
+ export function addAllergyIntoleranceContainedResourceReferenceList(claims, values) {
27
+ return setContainedResources(claims, uniqueCsvLists([
28
+ getAllergyIntoleranceContainedResourceReferenceList(claims),
29
+ Array.isArray(values) ? [...values] : getAllergyIntoleranceClaimList({ [AllergyIntoleranceClaim.ContainedReferenceList]: values }, AllergyIntoleranceClaim.ContainedReferenceList),
29
30
  ]));
30
31
  }
31
- export function removeAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
32
- const toRemove = new Set((Array.isArray(values) ? values : getAllergyIntoleranceClaimList({ [AllergyIntoleranceClaim.ContainedDocuments]: values }, AllergyIntoleranceClaim.ContainedDocuments))
32
+ export function removeAllergyIntoleranceContainedResourceReferenceList(claims, values) {
33
+ const toRemove = new Set((Array.isArray(values) ? values : getAllergyIntoleranceClaimList({ [AllergyIntoleranceClaim.ContainedReferenceList]: values }, AllergyIntoleranceClaim.ContainedReferenceList))
33
34
  .map((item) => String(item || '').trim())
34
35
  .filter(Boolean));
35
- return setContainedDocuments(claims, getAllergyIntoleranceContainedDocumentIdentifierList(claims).filter((item) => !toRemove.has(item)));
36
+ return setContainedResources(claims, getAllergyIntoleranceContainedResourceReferenceList(claims).filter((item) => !toRemove.has(item)));
37
+ }
38
+ /** @deprecated Use `getAllergyIntoleranceContainedResourceReferenceList`. */
39
+ export function getAllergyIntoleranceContainedDocumentIdentifierList(claims) {
40
+ return getAllergyIntoleranceContainedResourceReferenceList(claims);
41
+ }
42
+ /** @deprecated Use `setAllergyIntoleranceContainedResourceReferenceList`. */
43
+ export function setAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
44
+ return setAllergyIntoleranceContainedResourceReferenceList(claims, values);
45
+ }
46
+ /** @deprecated Use `addAllergyIntoleranceContainedResourceReferenceList`. */
47
+ export function addAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
48
+ return addAllergyIntoleranceContainedResourceReferenceList(claims, values);
49
+ }
50
+ /** @deprecated Use `removeAllergyIntoleranceContainedResourceReferenceList`. */
51
+ export function removeAllergyIntoleranceContainedDocumentIdentifierList(claims, values) {
52
+ return removeAllergyIntoleranceContainedResourceReferenceList(claims, values);
36
53
  }
37
- function setContainedDocuments(claims, values) {
38
- const next = setAllergyIntoleranceClaimList(claims, AllergyIntoleranceClaim.ContainedDocuments, values);
54
+ function setContainedResources(claims, values) {
55
+ const next = setAllergyIntoleranceClaimList(claims, AllergyIntoleranceClaim.ContainedReferenceList, values);
39
56
  const cleaned = {
40
57
  ...next,
41
58
  };
59
+ delete cleaned[AllergyIntoleranceClaim.ContainedDocuments];
42
60
  delete cleaned[AllergyIntoleranceClaim.AttachmentContentIds];
43
61
  return cleaned;
44
62
  }
@@ -4,7 +4,15 @@ export declare function getConditionClaimList(claims: ConditionInteroperableClai
4
4
  export declare function setConditionClaimList(claims: ConditionInteroperableClaims, claimKey: string, values: string | readonly string[]): ConditionInteroperableClaims;
5
5
  export declare function addConditionClaimList(claims: ConditionInteroperableClaims, claimKey: string, values: string | readonly string[]): ConditionInteroperableClaims;
6
6
  export declare function removeConditionClaimList(claims: ConditionInteroperableClaims, claimKey: string, values: string | readonly string[]): ConditionInteroperableClaims;
7
+ export declare function getConditionContainedResourceReferenceList(claims: ConditionInteroperableClaims): string[];
8
+ export declare function setConditionContainedResourceReferenceList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
9
+ export declare function addConditionContainedResourceReferenceList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
10
+ export declare function removeConditionContainedResourceReferenceList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
11
+ /** @deprecated Use `getConditionContainedResourceReferenceList`. */
7
12
  export declare function getConditionContainedDocumentIdentifierList(claims: ConditionInteroperableClaims): string[];
13
+ /** @deprecated Use `setConditionContainedResourceReferenceList`. */
8
14
  export declare function setConditionContainedDocumentIdentifierList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
15
+ /** @deprecated Use `addConditionContainedResourceReferenceList`. */
9
16
  export declare function addConditionContainedDocumentIdentifierList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
17
+ /** @deprecated Use `removeConditionContainedResourceReferenceList`. */
10
18
  export declare function removeConditionContainedDocumentIdentifierList(claims: ConditionInteroperableClaims, values: string | readonly string[]): ConditionInteroperableClaims;
@@ -13,32 +13,50 @@ export function addConditionClaimList(claims, claimKey, values) {
13
13
  export function removeConditionClaimList(claims, claimKey, values) {
14
14
  return removeClaimValues(claims, claimKey, values);
15
15
  }
16
- export function getConditionContainedDocumentIdentifierList(claims) {
16
+ export function getConditionContainedResourceReferenceList(claims) {
17
17
  return uniqueCsvLists([
18
+ getConditionClaimList(claims, ConditionClaim.ContainedReferenceList),
18
19
  getConditionClaimList(claims, ConditionClaim.ContainedDocuments),
19
20
  getConditionClaimList(claims, ConditionClaim.AttachmentContentIds),
20
21
  ]);
21
22
  }
22
- export function setConditionContainedDocumentIdentifierList(claims, values) {
23
- return setContainedDocuments(claims, values);
23
+ export function setConditionContainedResourceReferenceList(claims, values) {
24
+ return setContainedResources(claims, values);
24
25
  }
25
- export function addConditionContainedDocumentIdentifierList(claims, values) {
26
- return setContainedDocuments(claims, uniqueCsvLists([
27
- getConditionContainedDocumentIdentifierList(claims),
28
- Array.isArray(values) ? [...values] : getConditionClaimList({ [ConditionClaim.ContainedDocuments]: values }, ConditionClaim.ContainedDocuments),
26
+ export function addConditionContainedResourceReferenceList(claims, values) {
27
+ return setContainedResources(claims, uniqueCsvLists([
28
+ getConditionContainedResourceReferenceList(claims),
29
+ Array.isArray(values) ? [...values] : getConditionClaimList({ [ConditionClaim.ContainedReferenceList]: values }, ConditionClaim.ContainedReferenceList),
29
30
  ]));
30
31
  }
31
- export function removeConditionContainedDocumentIdentifierList(claims, values) {
32
- const toRemove = new Set((Array.isArray(values) ? values : getConditionClaimList({ [ConditionClaim.ContainedDocuments]: values }, ConditionClaim.ContainedDocuments))
32
+ export function removeConditionContainedResourceReferenceList(claims, values) {
33
+ const toRemove = new Set((Array.isArray(values) ? values : getConditionClaimList({ [ConditionClaim.ContainedReferenceList]: values }, ConditionClaim.ContainedReferenceList))
33
34
  .map((item) => String(item || '').trim())
34
35
  .filter(Boolean));
35
- return setContainedDocuments(claims, getConditionContainedDocumentIdentifierList(claims).filter((item) => !toRemove.has(item)));
36
+ return setContainedResources(claims, getConditionContainedResourceReferenceList(claims).filter((item) => !toRemove.has(item)));
37
+ }
38
+ /** @deprecated Use `getConditionContainedResourceReferenceList`. */
39
+ export function getConditionContainedDocumentIdentifierList(claims) {
40
+ return getConditionContainedResourceReferenceList(claims);
41
+ }
42
+ /** @deprecated Use `setConditionContainedResourceReferenceList`. */
43
+ export function setConditionContainedDocumentIdentifierList(claims, values) {
44
+ return setConditionContainedResourceReferenceList(claims, values);
45
+ }
46
+ /** @deprecated Use `addConditionContainedResourceReferenceList`. */
47
+ export function addConditionContainedDocumentIdentifierList(claims, values) {
48
+ return addConditionContainedResourceReferenceList(claims, values);
49
+ }
50
+ /** @deprecated Use `removeConditionContainedResourceReferenceList`. */
51
+ export function removeConditionContainedDocumentIdentifierList(claims, values) {
52
+ return removeConditionContainedResourceReferenceList(claims, values);
36
53
  }
37
- function setContainedDocuments(claims, values) {
38
- const next = setConditionClaimList(claims, ConditionClaim.ContainedDocuments, values);
54
+ function setContainedResources(claims, values) {
55
+ const next = setConditionClaimList(claims, ConditionClaim.ContainedReferenceList, values);
39
56
  const cleaned = {
40
57
  ...next,
41
58
  };
59
+ delete cleaned[ConditionClaim.ContainedDocuments];
42
60
  delete cleaned[ConditionClaim.AttachmentContentIds];
43
61
  return cleaned;
44
62
  }
@@ -77,9 +77,13 @@ export declare function removeSectors(claims: InteroperableClaims, values: strin
77
77
  * Returns linked DocumentReference identifiers carried by the consent.
78
78
  */
79
79
  export declare function getContainedDocumentIdentifierList(claims: InteroperableClaims): string[];
80
+ export declare function getContainedResourceReferenceList(claims: InteroperableClaims): string[];
80
81
  export declare function setContainedDocumentIdentifierList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
82
+ export declare function setContainedResourceReferenceList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
81
83
  export declare function addContainedDocumentIdentifierList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
82
84
  export declare function removeContainedDocumentIdentifierList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
85
+ export declare function addContainedResourceReferenceList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
86
+ export declare function removeContainedResourceReferenceList(claims: InteroperableClaims, values: string | readonly string[]): InteroperableClaims;
83
87
  /**
84
88
  * Reads the canonical consent date claim.
85
89
  */
@@ -167,13 +167,20 @@ export function removeSectors(claims, values) {
167
167
  */
168
168
  export function getContainedDocumentIdentifierList(claims) {
169
169
  return uniqueCsvLists([
170
+ getClaimValues(claims, ClaimConsent.containedReferenceList),
170
171
  getClaimValues(claims, ClaimConsent.containedDocuments),
171
172
  getClaimValues(claims, ClaimConsent.attachmentContentIds),
172
173
  ]);
173
174
  }
175
+ export function getContainedResourceReferenceList(claims) {
176
+ return getContainedDocumentIdentifierList(claims);
177
+ }
174
178
  export function setContainedDocumentIdentifierList(claims, values) {
175
179
  return setContainedDocuments(claims, values);
176
180
  }
181
+ export function setContainedResourceReferenceList(claims, values) {
182
+ return setContainedDocuments(claims, values);
183
+ }
177
184
  export function addContainedDocumentIdentifierList(claims, values) {
178
185
  return setContainedDocuments(claims, uniqueCsvLists([
179
186
  getContainedDocumentIdentifierList(claims),
@@ -186,11 +193,18 @@ export function removeContainedDocumentIdentifierList(claims, values) {
186
193
  .filter(Boolean));
187
194
  return setContainedDocuments(claims, getContainedDocumentIdentifierList(claims).filter((item) => !toRemove.has(item)));
188
195
  }
196
+ export function addContainedResourceReferenceList(claims, values) {
197
+ return addContainedDocumentIdentifierList(claims, values);
198
+ }
199
+ export function removeContainedResourceReferenceList(claims, values) {
200
+ return removeContainedDocumentIdentifierList(claims, values);
201
+ }
189
202
  function setContainedDocuments(claims, values) {
190
- const next = setClaimValues(claims, ClaimConsent.containedDocuments, values);
203
+ const next = setClaimValues(claims, ClaimConsent.containedReferenceList, values);
191
204
  const cleaned = {
192
205
  ...next,
193
206
  };
207
+ delete cleaned[ClaimConsent.containedDocuments];
194
208
  delete cleaned[ClaimConsent.attachmentContentIds];
195
209
  return cleaned;
196
210
  }
@@ -8,5 +8,9 @@ export declare function getDiagnosticReportIdentifier(claims: DiagnosticReportIn
8
8
  export declare function setDiagnosticReportIdentifier(claims: DiagnosticReportInteroperableClaims, value: string): DiagnosticReportInteroperableClaims;
9
9
  export declare function getDiagnosticReportResultList(claims: DiagnosticReportInteroperableClaims): string[];
10
10
  export declare function setDiagnosticReportResultList(claims: DiagnosticReportInteroperableClaims, values: string | readonly string[]): DiagnosticReportInteroperableClaims;
11
+ export declare function getDiagnosticReportContainedResourceReferenceList(claims: DiagnosticReportInteroperableClaims): string[];
12
+ export declare function setDiagnosticReportContainedResourceReferenceList(claims: DiagnosticReportInteroperableClaims, values: string | readonly string[]): DiagnosticReportInteroperableClaims;
13
+ /** @deprecated Use `getDiagnosticReportContainedResourceReferenceList`. */
11
14
  export declare function getDiagnosticReportContainedDocumentIdentifierList(claims: DiagnosticReportInteroperableClaims): string[];
15
+ /** @deprecated Use `setDiagnosticReportContainedResourceReferenceList`. */
12
16
  export declare function setDiagnosticReportContainedDocumentIdentifierList(claims: DiagnosticReportInteroperableClaims, values: string | readonly string[]): DiagnosticReportInteroperableClaims;
@@ -24,9 +24,24 @@ export function getDiagnosticReportResultList(claims) {
24
24
  export function setDiagnosticReportResultList(claims, values) {
25
25
  return setDiagnosticReportClaimList(claims, DiagnosticReportClaim.Result, values);
26
26
  }
27
+ export function getDiagnosticReportContainedResourceReferenceList(claims) {
28
+ const canonical = getDiagnosticReportClaimList(claims, DiagnosticReportClaim.ContainedReferenceList);
29
+ const legacy = getDiagnosticReportClaimList(claims, DiagnosticReportClaim.ContainedDocuments);
30
+ return [...new Set([...canonical, ...legacy].map((item) => String(item || '').trim()).filter(Boolean))];
31
+ }
32
+ export function setDiagnosticReportContainedResourceReferenceList(claims, values) {
33
+ const next = setDiagnosticReportClaimList(claims, DiagnosticReportClaim.ContainedReferenceList, values);
34
+ const cleaned = {
35
+ ...next,
36
+ };
37
+ delete cleaned[DiagnosticReportClaim.ContainedDocuments];
38
+ return cleaned;
39
+ }
40
+ /** @deprecated Use `getDiagnosticReportContainedResourceReferenceList`. */
27
41
  export function getDiagnosticReportContainedDocumentIdentifierList(claims) {
28
- return getDiagnosticReportClaimList(claims, DiagnosticReportClaim.ContainedDocuments);
42
+ return getDiagnosticReportContainedResourceReferenceList(claims);
29
43
  }
44
+ /** @deprecated Use `setDiagnosticReportContainedResourceReferenceList`. */
30
45
  export function setDiagnosticReportContainedDocumentIdentifierList(claims, values) {
31
- return setDiagnosticReportClaimList(claims, DiagnosticReportClaim.ContainedDocuments, values);
46
+ return setDiagnosticReportContainedResourceReferenceList(claims, values);
32
47
  }
@@ -78,11 +78,19 @@ export declare function setMedicationSubjectList(claims: MedicationInteroperable
78
78
  export declare function addMedicationSubjectList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
79
79
  export declare function removeMedicationSubjectList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
80
80
  /**
81
- * Linked DocumentReference identifiers associated to the medication statement.
82
- * Canonical claim key: `MedicationStatement.contained-documents`.
81
+ * Linked contained resource references associated to the medication statement.
82
+ * Canonical claim key: `MedicationStatement.contained-reference-list`.
83
83
  * Legacy alias accepted on read: `MedicationStatement.attachment-content-ids`.
84
84
  */
85
+ export declare function getMedicationContainedResourceReferenceList(claims: MedicationInteroperableClaims): string[];
86
+ export declare function setMedicationContainedResourceReferenceList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
87
+ export declare function addMedicationContainedResourceReferenceList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
88
+ export declare function removeMedicationContainedResourceReferenceList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
89
+ /** @deprecated Use `getMedicationContainedResourceReferenceList`. */
85
90
  export declare function getMedicationContainedDocumentIdentifierList(claims: MedicationInteroperableClaims): string[];
91
+ /** @deprecated Use `setMedicationContainedResourceReferenceList`. */
86
92
  export declare function setMedicationContainedDocumentIdentifierList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
93
+ /** @deprecated Use `addMedicationContainedResourceReferenceList`. */
87
94
  export declare function addMedicationContainedDocumentIdentifierList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
95
+ /** @deprecated Use `removeMedicationContainedResourceReferenceList`. */
88
96
  export declare function removeMedicationContainedDocumentIdentifierList(claims: MedicationInteroperableClaims, values: string | readonly string[]): MedicationInteroperableClaims;
@@ -171,36 +171,54 @@ export function removeMedicationSubjectList(claims, values) {
171
171
  return removeMedicationClaimList(claims, MedicationStatementClaim.Subject, values);
172
172
  }
173
173
  /**
174
- * Linked DocumentReference identifiers associated to the medication statement.
175
- * Canonical claim key: `MedicationStatement.contained-documents`.
174
+ * Linked contained resource references associated to the medication statement.
175
+ * Canonical claim key: `MedicationStatement.contained-reference-list`.
176
176
  * Legacy alias accepted on read: `MedicationStatement.attachment-content-ids`.
177
177
  */
178
- export function getMedicationContainedDocumentIdentifierList(claims) {
178
+ export function getMedicationContainedResourceReferenceList(claims) {
179
179
  return uniqueCsvLists([
180
+ getMedicationClaimList(claims, MedicationStatementClaim.ContainedReferenceList),
180
181
  getMedicationClaimList(claims, MedicationStatementClaim.ContainedDocuments),
181
182
  getMedicationClaimList(claims, MedicationStatementClaim.AttachmentContentIds),
182
183
  ]);
183
184
  }
184
- export function setMedicationContainedDocumentIdentifierList(claims, values) {
185
- return setContainedDocuments(claims, values);
185
+ export function setMedicationContainedResourceReferenceList(claims, values) {
186
+ return setContainedResources(claims, values);
186
187
  }
187
- export function addMedicationContainedDocumentIdentifierList(claims, values) {
188
- return setContainedDocuments(claims, uniqueCsvLists([
189
- getMedicationContainedDocumentIdentifierList(claims),
190
- Array.isArray(values) ? [...values] : getMedicationClaimList({ [MedicationStatementClaim.ContainedDocuments]: values }, MedicationStatementClaim.ContainedDocuments),
188
+ export function addMedicationContainedResourceReferenceList(claims, values) {
189
+ return setContainedResources(claims, uniqueCsvLists([
190
+ getMedicationContainedResourceReferenceList(claims),
191
+ Array.isArray(values) ? [...values] : getMedicationClaimList({ [MedicationStatementClaim.ContainedReferenceList]: values }, MedicationStatementClaim.ContainedReferenceList),
191
192
  ]));
192
193
  }
193
- export function removeMedicationContainedDocumentIdentifierList(claims, values) {
194
- const toRemove = new Set((Array.isArray(values) ? values : getMedicationClaimList({ [MedicationStatementClaim.ContainedDocuments]: values }, MedicationStatementClaim.ContainedDocuments))
194
+ export function removeMedicationContainedResourceReferenceList(claims, values) {
195
+ const toRemove = new Set((Array.isArray(values) ? values : getMedicationClaimList({ [MedicationStatementClaim.ContainedReferenceList]: values }, MedicationStatementClaim.ContainedReferenceList))
195
196
  .map((item) => String(item || '').trim())
196
197
  .filter(Boolean));
197
- return setContainedDocuments(claims, getMedicationContainedDocumentIdentifierList(claims).filter((item) => !toRemove.has(item)));
198
+ return setContainedResources(claims, getMedicationContainedResourceReferenceList(claims).filter((item) => !toRemove.has(item)));
199
+ }
200
+ /** @deprecated Use `getMedicationContainedResourceReferenceList`. */
201
+ export function getMedicationContainedDocumentIdentifierList(claims) {
202
+ return getMedicationContainedResourceReferenceList(claims);
203
+ }
204
+ /** @deprecated Use `setMedicationContainedResourceReferenceList`. */
205
+ export function setMedicationContainedDocumentIdentifierList(claims, values) {
206
+ return setMedicationContainedResourceReferenceList(claims, values);
207
+ }
208
+ /** @deprecated Use `addMedicationContainedResourceReferenceList`. */
209
+ export function addMedicationContainedDocumentIdentifierList(claims, values) {
210
+ return addMedicationContainedResourceReferenceList(claims, values);
211
+ }
212
+ /** @deprecated Use `removeMedicationContainedResourceReferenceList`. */
213
+ export function removeMedicationContainedDocumentIdentifierList(claims, values) {
214
+ return removeMedicationContainedResourceReferenceList(claims, values);
198
215
  }
199
- function setContainedDocuments(claims, values) {
200
- const next = setMedicationClaimList(claims, MedicationStatementClaim.ContainedDocuments, values);
216
+ function setContainedResources(claims, values) {
217
+ const next = setMedicationClaimList(claims, MedicationStatementClaim.ContainedReferenceList, values);
201
218
  const cleaned = {
202
219
  ...next,
203
220
  };
221
+ delete cleaned[MedicationStatementClaim.ContainedDocuments];
204
222
  delete cleaned[MedicationStatementClaim.AttachmentContentIds];
205
223
  return cleaned;
206
224
  }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Canonical low-level DIDComm-style message types reused by examples, tests,
3
+ * and runtime-neutral transport helpers in this package.
4
+ */
5
+ export declare const DidcommMessageTypes: Readonly<{
6
+ readonly BundleAck: "Bundle-ack-v1.0";
7
+ readonly BundleBatchRequest: "Bundle-batch-request-v1.0";
8
+ readonly BundleDocumentRequest: "Bundle-document-request-v1.0";
9
+ readonly CommunicationAck: "Communication-ack-v1.0";
10
+ readonly CommunicationAttachedBundle: "Communication-attached-bundle-v1.0";
11
+ readonly CommunicationBundleSubmit: "Communication-bundle-submit-v1.0";
12
+ readonly CommunicationResponse: "Communication-response-v1.0";
13
+ }>;
14
+ /**
15
+ * Canonical low-level DIDComm acknowledgement body keys used in shared tests
16
+ * and examples.
17
+ */
18
+ export declare const DidcommAckBodyKeys: Readonly<{
19
+ readonly Ok: "ok";
20
+ readonly ReceivedDocumentIdentifier: "receivedDocumentIdentifier";
21
+ readonly ReceivedMedicationIdentifier: "receivedMedicationIdentifier";
22
+ }>;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Canonical low-level DIDComm-style message types reused by examples, tests,
3
+ * and runtime-neutral transport helpers in this package.
4
+ */
5
+ export const DidcommMessageTypes = Object.freeze({
6
+ BundleAck: 'Bundle-ack-v1.0',
7
+ BundleBatchRequest: 'Bundle-batch-request-v1.0',
8
+ BundleDocumentRequest: 'Bundle-document-request-v1.0',
9
+ CommunicationAck: 'Communication-ack-v1.0',
10
+ CommunicationAttachedBundle: 'Communication-attached-bundle-v1.0',
11
+ CommunicationBundleSubmit: 'Communication-bundle-submit-v1.0',
12
+ CommunicationResponse: 'Communication-response-v1.0',
13
+ });
14
+ /**
15
+ * Canonical low-level DIDComm acknowledgement body keys used in shared tests
16
+ * and examples.
17
+ */
18
+ export const DidcommAckBodyKeys = Object.freeze({
19
+ Ok: 'ok',
20
+ ReceivedDocumentIdentifier: 'receivedDocumentIdentifier',
21
+ ReceivedMedicationIdentifier: 'receivedMedicationIdentifier',
22
+ });
@@ -30,6 +30,7 @@ export declare const ResourceTypesFhirR4: Readonly<{
30
30
  readonly MedicationStatement: "MedicationStatement";
31
31
  readonly Observation: "Observation";
32
32
  readonly Organization: "Organization";
33
+ readonly Patient: "Patient";
33
34
  readonly Procedure: "Procedure";
34
35
  readonly RelatedPerson: "RelatedPerson";
35
36
  }>;
@@ -65,6 +66,7 @@ export declare const FhirResourceTypes: Readonly<{
65
66
  readonly MedicationStatement: "MedicationStatement";
66
67
  readonly Observation: "Observation";
67
68
  readonly Organization: "Organization";
69
+ readonly Patient: "Patient";
68
70
  readonly Procedure: "Procedure";
69
71
  readonly RelatedPerson: "RelatedPerson";
70
72
  }>;
@@ -30,6 +30,7 @@ export const ResourceTypesFhirR4 = Object.freeze({
30
30
  MedicationStatement: 'MedicationStatement',
31
31
  Observation: 'Observation',
32
32
  Organization: 'Organization',
33
+ Patient: 'Patient',
33
34
  Procedure: 'Procedure',
34
35
  RelatedPerson: 'RelatedPerson',
35
36
  });
@@ -6,6 +6,7 @@ export * from './data-collections';
6
6
  export * from './data-capabilities';
7
7
  export * from './dataspace-discovery';
8
8
  export * from './dataspace-protocol';
9
+ export * from './didcomm';
9
10
  export * from './device';
10
11
  export * from './did-services';
11
12
  export * from './eu-countries';
@@ -6,6 +6,7 @@ export * from './data-collections.js';
6
6
  export * from './data-capabilities.js';
7
7
  export * from './dataspace-discovery.js';
8
8
  export * from './dataspace-protocol.js';
9
+ export * from './didcomm.js';
9
10
  export * from './device.js';
10
11
  export * from './did-services.js';
11
12
  export * from './eu-countries.js';
@@ -12,6 +12,8 @@ export declare const InteroperableContext: Readonly<{
12
12
  * adapters for the currently deployed GW CORE contract.
13
13
  */
14
14
  export declare const LifecycleRequestType: Readonly<{
15
+ readonly IndividualOrganizationDisable: "Family-disable-request-v1.0";
16
+ readonly IndividualOrganizationPurge: "Family-purge-request-v1.0";
15
17
  readonly RelatedPersonDisable: "RelatedPerson-disable-request-v1.0";
16
18
  readonly RelatedPersonPurge: "RelatedPerson-purge-request-v1.0";
17
19
  readonly TenantEnable: "Organization-enable-request-v1.0";
@@ -13,6 +13,8 @@ export const InteroperableContext = Object.freeze({
13
13
  * adapters for the currently deployed GW CORE contract.
14
14
  */
15
15
  export const LifecycleRequestType = Object.freeze({
16
+ IndividualOrganizationDisable: 'Family-disable-request-v1.0',
17
+ IndividualOrganizationPurge: 'Family-purge-request-v1.0',
16
18
  RelatedPersonDisable: 'RelatedPerson-disable-request-v1.0',
17
19
  RelatedPersonPurge: 'RelatedPerson-purge-request-v1.0',
18
20
  TenantEnable: 'Organization-enable-request-v1.0',
@@ -36,6 +36,15 @@ export declare const ActivationCredentialTypes: Readonly<{
36
36
  export declare const ProfessionalCredentialTypes: Readonly<{
37
37
  EmployeeCredential: "EmployeeCredential";
38
38
  }>;
39
+ /**
40
+ * Canonical credential subtype names used by individual-controller and
41
+ * subject-side member access flows.
42
+ */
43
+ export declare const IndividualCredentialTypes: Readonly<{
44
+ IndividualControllerCredential: "IndividualControllerCredential";
45
+ IndividualMemberCredential: "IndividualMemberCredential";
46
+ IndividualSubjectCredential: "IndividualSubjectCredential";
47
+ }>;
39
48
  /**
40
49
  * Canonical credential subtype names used by inter-tenant authorization
41
50
  * contracts for cross-organization access.
@@ -38,6 +38,15 @@ export const ActivationCredentialTypes = Object.freeze({
38
38
  export const ProfessionalCredentialTypes = Object.freeze({
39
39
  EmployeeCredential: 'EmployeeCredential',
40
40
  });
41
+ /**
42
+ * Canonical credential subtype names used by individual-controller and
43
+ * subject-side member access flows.
44
+ */
45
+ export const IndividualCredentialTypes = Object.freeze({
46
+ IndividualControllerCredential: 'IndividualControllerCredential',
47
+ IndividualMemberCredential: 'IndividualMemberCredential',
48
+ IndividualSubjectCredential: 'IndividualSubjectCredential',
49
+ });
41
50
  /**
42
51
  * Canonical credential subtype names used by inter-tenant authorization
43
52
  * contracts for cross-organization access.
@@ -1,4 +1,6 @@
1
1
  // Copyright 2026 Conectate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
2
+ import { DidcommMessageTypes } from '../constants/didcomm.js';
3
+ import { BundleDidcommEntryTypes } from '../utils/bundle-didcomm-payload.js';
2
4
  import { EXAMPLE_GATEWAY_PUBLIC_ORIGIN, } from './shared.js';
3
5
  /**
4
6
  * Shared synthetic DIDComm fixtures for direct Bundle payload tests.
@@ -7,7 +9,7 @@ export const EXAMPLE_DIDCOMM_BUNDLE_ISS = 'did:web:portal.example.org';
7
9
  export const EXAMPLE_DIDCOMM_BUNDLE_AUD = `${EXAMPLE_GATEWAY_PUBLIC_ORIGIN}/bundle`;
8
10
  export const EXAMPLE_DIDCOMM_BUNDLE_JTI = 'didcomm-bundle-jti-001';
9
11
  export const EXAMPLE_DIDCOMM_BUNDLE_THID = 'didcomm-bundle-thread-001';
10
- export const EXAMPLE_DIDCOMM_BUNDLE_ENTRY_TYPE = 'Bundle-batch-request-v1.0';
12
+ export const EXAMPLE_DIDCOMM_BUNDLE_ENTRY_TYPE = BundleDidcommEntryTypes.Batch;
11
13
  export const EXAMPLE_DIDCOMM_BUNDLE_REPLY_AUD = `${EXAMPLE_GATEWAY_PUBLIC_ORIGIN}/bundle-reply`;
12
14
  export const EXAMPLE_DIDCOMM_BUNDLE_REPLY_JTI = 'didcomm-bundle-reply-jti-001';
13
- export const EXAMPLE_DIDCOMM_BUNDLE_ACK_TYPE = 'Bundle-ack-v1.0';
15
+ export const EXAMPLE_DIDCOMM_BUNDLE_ACK_TYPE = DidcommMessageTypes.BundleAck;