gdc-sdk-node-ts 2.1.1 → 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.
- package/README.md +11 -5
- package/dist/backend-profile-workspace.d.ts +48 -0
- package/dist/backend-profile-workspace.js +91 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/individual-controller-backend-runtime.d.ts +6 -1
- package/dist/individual-controller-backend-runtime.js +7 -0
- package/dist/node-runtime-client.d.ts +18 -27
- package/dist/node-runtime-client.js +230 -461
- package/dist/orchestration/client-port.d.ts +4 -2
- package/dist/orchestration/individual-controller-sdk.d.ts +42 -9
- package/dist/orchestration/individual-controller-sdk.js +48 -8
- package/dist/orchestration/individual-member-sdk.d.ts +25 -0
- package/dist/orchestration/individual-member-sdk.js +29 -0
- package/dist/orchestration/personal-sdk.d.ts +3 -1
- package/dist/orchestration/personal-sdk.js +4 -0
- package/dist/orchestration/professional-sdk.d.ts +36 -1
- package/dist/orchestration/professional-sdk.js +43 -0
- package/dist/professional-backend-runtime.d.ts +6 -1
- package/dist/professional-backend-runtime.js +7 -0
- package/dist/profile-workspace.d.ts +12 -0
- package/dist/profile-workspace.js +15 -0
- package/dist/resource-operations.d.ts +82 -25
- package/dist/resource-operations.js +190 -3
- package/dist/runtime-client-paths.d.ts +81 -0
- package/dist/runtime-client-paths.js +95 -0
- package/dist/runtime-consent.d.ts +7 -0
- package/dist/runtime-consent.js +21 -0
- package/dist/runtime-host-submission.d.ts +62 -0
- package/dist/runtime-host-submission.js +82 -0
- package/dist/runtime-http-trace.d.ts +4 -0
- package/dist/runtime-http-trace.js +44 -0
- package/dist/runtime-message.d.ts +10 -0
- package/dist/runtime-message.js +19 -0
- package/dist/runtime-paths.d.ts +12 -0
- package/dist/runtime-paths.js +41 -0
- package/dist/runtime-route-context.d.ts +20 -0
- package/dist/runtime-route-context.js +68 -0
- package/dist/runtime-transport.d.ts +22 -0
- package/dist/runtime-transport.js +91 -0
- package/dist/smart-token.d.ts +8 -29
- package/dist/smart-token.js +28 -3
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ControllerBindingInput } from 'gdc-common-utils-ts/models';
|
|
2
2
|
import type { FamilyOrganizationSummary } from 'gdc-common-utils-ts/utils/family-organization-summary';
|
|
3
3
|
import type { LegalOrganizationVerificationTransactionInput } from 'gdc-common-utils-ts/utils/legal-organization-verification-transaction';
|
|
4
|
-
import type { OrganizationDidBindingInput } from 'gdc-sdk-core-ts';
|
|
4
|
+
import type { IndividualOrganizationLifecycleInput, OrganizationDidBindingInput } from 'gdc-sdk-core-ts';
|
|
5
5
|
import type { LicenseListRuntimeSearchInput, LicenseOfferRuntimeSearchInput, LicenseOrderRuntimeSearchInput } from '../resource-operations.js';
|
|
6
6
|
import type { AsyncPollRequest, OrganizationActivationServiceOptions, PollOptions, PollResult, SubmitAndPollResult, SubmitPayload, SubmitResponse } from 'gdc-sdk-core-ts';
|
|
7
7
|
export type { AsyncPollRequest, PollOptions, PollResult, SubmitAndPollResult, SubmitPayload, SubmitResponse, } from 'gdc-sdk-core-ts';
|
|
@@ -13,7 +13,7 @@ import type { FamilyOrganizationSearchInput } from '../family-organization-searc
|
|
|
13
13
|
import type { EnsureFamilyOrganizationRegistrationInput, EnsureFamilyOrganizationRegistrationResult } from '../family-organization-registration.js';
|
|
14
14
|
import type { OrganizationLicenseOrderConfirmInput } from '../organization-license-order.js';
|
|
15
15
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js';
|
|
16
|
-
import type { CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, ClinicalBundleSearchInput, DigitalTwinGenerationInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, IndividualMemberLifecycleInput,
|
|
16
|
+
import type { CommunicationIngestionInput, BlockchainArtifactRegistrationInput, CommunicationParticipantRuntimeSearchInput, ClinicalBundleSearchInput, VitalSignBatchCommunicationFromSearchResponseInput, DigitalTwinGenerationInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, IndividualMemberLifecycleInput, IpsOrFhirImportInput, OrganizationEmployeeCreationInput, OrganizationEmployeeLifecycleInput, OrganizationEmployeeSearchInput, RevokeProfessionalAccessInput, RevokeProfessionalAccessResult, RelatedPersonUpsertInput } from '../resource-operations.js';
|
|
17
17
|
/**
|
|
18
18
|
* Shared node-runtime activation input.
|
|
19
19
|
*
|
|
@@ -58,6 +58,7 @@ export type RuntimeClient = {
|
|
|
58
58
|
submitOrganizationDidBinding?: (ctx: RouteContext, input: NodeOrganizationDidBindingInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
59
59
|
activateOrganizationInGatewayFromIcaProof?: (hostCtx: HostRouteContext, input: NodeOrganizationActivationInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
60
60
|
confirmLegalOrganizationOrder?: (hostCtx: HostRouteContext, input: LegalOrganizationOrderInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
61
|
+
submitVitalSignBatchCommunicationFromSearchResponse?: (ctx: RouteContext, input: VitalSignBatchCommunicationFromSearchResponseInput) => Promise<SubmitAndPollResult>;
|
|
61
62
|
disableHost?: (hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
62
63
|
purgeHost?: (hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
63
64
|
disableTenant?: (hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
@@ -88,6 +89,7 @@ export type RuntimeClient = {
|
|
|
88
89
|
disableIndividualOrganization?: (ctx: RouteContext, input: IndividualOrganizationLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
89
90
|
purgeIndividualOrganization?: (ctx: RouteContext, input: IndividualOrganizationLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
90
91
|
ingestCommunicationAndUpdateIndex?: (ctx: RouteContext, input: CommunicationIngestionInput) => Promise<SubmitAndPollResult>;
|
|
92
|
+
registerBlockchainArtifactAndUpdateIndex?: (ctx: RouteContext, input: BlockchainArtifactRegistrationInput) => Promise<SubmitAndPollResult>;
|
|
91
93
|
searchCommunicationParticipants?: (ctx: RouteContext, input: CommunicationParticipantRuntimeSearchInput) => Promise<SubmitAndPollResult>;
|
|
92
94
|
grantProfessionalAccess?: (ctx: RouteContext, input: GrantProfessionalAccessInput) => Promise<GrantProfessionalAccessResult>;
|
|
93
95
|
revokeProfessionalAccess?: (ctx: RouteContext, input: RevokeProfessionalAccessInput) => Promise<RevokeProfessionalAccessResult>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type IndividualControllerCredentialInput, type IndividualControllerVpPayloadInput, type IndividualSubjectCredentialInput } from 'gdc-common-utils-ts';
|
|
1
2
|
import { type NodeRuntimeClient, type PollOptions, type SubmitAndPollResult, type SubmitPayload } from './client-port.js';
|
|
2
3
|
import type { FamilyOrganizationSummary } from 'gdc-common-utils-ts/utils/family-organization-summary';
|
|
3
4
|
import type { EnsureFamilyOrganizationRegistrationInput, EnsureFamilyOrganizationRegistrationResult } from '../family-organization-registration.js';
|
|
@@ -5,7 +6,8 @@ import type { FamilyOrganizationSearchInput } from '../family-organization-searc
|
|
|
5
6
|
import type { IndividualOrganizationConfirmOrderInput, RouteContext } from '../individual-onboarding.js';
|
|
6
7
|
import type { IndividualOrganizationBootstrapInput, IndividualOrganizationStartResult } from '../individual-start.js';
|
|
7
8
|
import type { NodeCapability } from '../session.js';
|
|
8
|
-
import type {
|
|
9
|
+
import type { IndividualOrganizationLifecycleInput } from 'gdc-sdk-core-ts';
|
|
10
|
+
import type { BlockchainArtifactRegistrationInput, ClinicalBundleSearchInput, CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, DigitalTwinGenerationInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, IndividualMemberLifecycleInput, IpsOrFhirImportInput, LicenseListRuntimeSearchInput, LicenseOfferRuntimeSearchInput, LicenseOrderRuntimeSearchInput, RevokeProfessionalAccessInput, RevokeProfessionalAccessResult, RelatedPersonUpsertInput } from '../resource-operations.js';
|
|
9
11
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js';
|
|
10
12
|
/**
|
|
11
13
|
* Individual-controller oriented facade over a `NodeRuntimeClient`.
|
|
@@ -55,17 +57,13 @@ export declare class IndividualControllerSdk {
|
|
|
55
57
|
*/
|
|
56
58
|
purgeIndividual(ctx: RouteContext, input: IndividualOrganizationLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* Current GW CORE still lacks the stable member disable route. The runtime
|
|
61
|
-
* client currently throws a not-supported error by design.
|
|
60
|
+
* Soft-disables one individual-member / caregiver relationship through the
|
|
61
|
+
* current `RelatedPerson/_batch` lifecycle contract.
|
|
62
62
|
*/
|
|
63
63
|
disableIndividualMember(ctx: RouteContext, input: IndividualMemberLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* Current GW CORE still lacks the stable member purge route. The runtime
|
|
68
|
-
* client currently throws a not-supported error by design.
|
|
65
|
+
* Purges one previously disabled individual-member / caregiver relationship
|
|
66
|
+
* through the explicit `RelatedPerson/_purge` lifecycle contract.
|
|
69
67
|
*/
|
|
70
68
|
purgeIndividualMember(ctx: RouteContext, input: IndividualMemberLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
71
69
|
/**
|
|
@@ -88,6 +86,11 @@ export declare class IndividualControllerSdk {
|
|
|
88
86
|
* Ingests a FHIR `Communication` and waits for indexing.
|
|
89
87
|
*/
|
|
90
88
|
ingestCommunicationAndUpdateIndex(ctx: RouteContext, input: CommunicationIngestionInput): Promise<SubmitAndPollResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Registers one FHIR resource or raw artifact on blockchain before it is
|
|
91
|
+
* attached to a subject communication.
|
|
92
|
+
*/
|
|
93
|
+
registerBlockchainArtifactAndUpdateIndex(ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
|
|
91
94
|
/**
|
|
92
95
|
* Searches indexed communication channel records by subject and participant
|
|
93
96
|
* identifiers.
|
|
@@ -136,6 +139,36 @@ export declare class IndividualControllerSdk {
|
|
|
136
139
|
* Requests a SMART/OpenID token for subsequent data access flows.
|
|
137
140
|
*/
|
|
138
141
|
requestSmartToken(input: SmartTokenRequestInput): Promise<SmartTokenExchangeResult>;
|
|
142
|
+
/**
|
|
143
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
144
|
+
* the individual-controller identity VC for SMART/OpenID4VP flows.
|
|
145
|
+
*/
|
|
146
|
+
getIdentitySameAs(input: IndividualControllerCredentialInput): string[];
|
|
147
|
+
/**
|
|
148
|
+
* Builds the canonical individual-controller identity VC used by shared
|
|
149
|
+
* SMART VP helpers.
|
|
150
|
+
*/
|
|
151
|
+
getIdentityVC(input: IndividualControllerCredentialInput): Record<string, unknown>;
|
|
152
|
+
/**
|
|
153
|
+
* Builds one canonical subject VC for the dependent subject managed by the
|
|
154
|
+
* current controller, for example a child, pet, or another represented
|
|
155
|
+
* individual.
|
|
156
|
+
*/
|
|
157
|
+
getSubjectVC(input: IndividualSubjectCredentialInput): Record<string, unknown>;
|
|
158
|
+
/**
|
|
159
|
+
* Builds the canonical individual-controller identity VP payload used by
|
|
160
|
+
* shared SMART/OpenID4VP helpers.
|
|
161
|
+
*/
|
|
162
|
+
buildIdentityVpPayload(input: IndividualControllerVpPayloadInput): Record<string, unknown>;
|
|
163
|
+
/**
|
|
164
|
+
* Builds one unsigned compact VP JWT for the canonical
|
|
165
|
+
* individual-controller identity payload.
|
|
166
|
+
*/
|
|
167
|
+
buildUnsignedIdentityVpJwt(input: IndividualControllerVpPayloadInput, options?: Readonly<{
|
|
168
|
+
nowSeconds?: number;
|
|
169
|
+
ttlSeconds?: number;
|
|
170
|
+
nonce?: string;
|
|
171
|
+
}>): string;
|
|
139
172
|
/**
|
|
140
173
|
* Low-level escape hatch for direct submit/poll flows.
|
|
141
174
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
2
|
import { ActorCapabilities, ActorKinds } from 'gdc-common-utils-ts/constants/actor-session';
|
|
3
|
+
import { buildIndividualControllerIdentityVpPayload, buildUnsignedIndividualControllerIdentityVpJwt, getIndividualControllerIdentitySameAs, getIndividualControllerIdentityVC, getIndividualSubjectVC, } from 'gdc-common-utils-ts';
|
|
3
4
|
import { requireClientMethod, submitAndPollWithClient, } from './client-port.js';
|
|
4
5
|
import { assertFacadeCapability } from './capability-guard.js';
|
|
5
6
|
/**
|
|
@@ -73,20 +74,16 @@ export class IndividualControllerSdk {
|
|
|
73
74
|
return requireClientMethod(this.client, 'purgeIndividual')(ctx, input, pollOptions);
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* Current GW CORE still lacks the stable member disable route. The runtime
|
|
79
|
-
* client currently throws a not-supported error by design.
|
|
77
|
+
* Soft-disables one individual-member / caregiver relationship through the
|
|
78
|
+
* current `RelatedPerson/_batch` lifecycle contract.
|
|
80
79
|
*/
|
|
81
80
|
disableIndividualMember(ctx, input, pollOptions) {
|
|
82
81
|
assertFacadeCapability(this.capabilities, ActorCapabilities.IndividualMemberDisable, ActorKinds.IndividualController, 'disableIndividualMember');
|
|
83
82
|
return requireClientMethod(this.client, 'disableIndividualMember')(ctx, input, pollOptions);
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* Current GW CORE still lacks the stable member purge route. The runtime
|
|
89
|
-
* client currently throws a not-supported error by design.
|
|
85
|
+
* Purges one previously disabled individual-member / caregiver relationship
|
|
86
|
+
* through the explicit `RelatedPerson/_purge` lifecycle contract.
|
|
90
87
|
*/
|
|
91
88
|
purgeIndividualMember(ctx, input, pollOptions) {
|
|
92
89
|
assertFacadeCapability(this.capabilities, ActorCapabilities.IndividualMemberPurge, ActorKinds.IndividualController, 'purgeIndividualMember');
|
|
@@ -127,6 +124,13 @@ export class IndividualControllerSdk {
|
|
|
127
124
|
assertFacadeCapability(this.capabilities, ActorCapabilities.IndividualIngestCommunication, ActorKinds.IndividualController, 'ingestCommunicationAndUpdateIndex');
|
|
128
125
|
return requireClientMethod(this.client, 'ingestCommunicationAndUpdateIndex')(ctx, input);
|
|
129
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Registers one FHIR resource or raw artifact on blockchain before it is
|
|
129
|
+
* attached to a subject communication.
|
|
130
|
+
*/
|
|
131
|
+
registerBlockchainArtifactAndUpdateIndex(ctx, input) {
|
|
132
|
+
return requireClientMethod(this.client, 'registerBlockchainArtifactAndUpdateIndex')(ctx, input);
|
|
133
|
+
}
|
|
130
134
|
/**
|
|
131
135
|
* Searches indexed communication channel records by subject and participant
|
|
132
136
|
* identifiers.
|
|
@@ -198,6 +202,42 @@ export class IndividualControllerSdk {
|
|
|
198
202
|
requestSmartToken(input) {
|
|
199
203
|
return requireClientMethod(this.client, 'requestSmartToken')(input);
|
|
200
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
207
|
+
* the individual-controller identity VC for SMART/OpenID4VP flows.
|
|
208
|
+
*/
|
|
209
|
+
getIdentitySameAs(input) {
|
|
210
|
+
return getIndividualControllerIdentitySameAs(input);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Builds the canonical individual-controller identity VC used by shared
|
|
214
|
+
* SMART VP helpers.
|
|
215
|
+
*/
|
|
216
|
+
getIdentityVC(input) {
|
|
217
|
+
return getIndividualControllerIdentityVC(input);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Builds one canonical subject VC for the dependent subject managed by the
|
|
221
|
+
* current controller, for example a child, pet, or another represented
|
|
222
|
+
* individual.
|
|
223
|
+
*/
|
|
224
|
+
getSubjectVC(input) {
|
|
225
|
+
return getIndividualSubjectVC(input);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Builds the canonical individual-controller identity VP payload used by
|
|
229
|
+
* shared SMART/OpenID4VP helpers.
|
|
230
|
+
*/
|
|
231
|
+
buildIdentityVpPayload(input) {
|
|
232
|
+
return buildIndividualControllerIdentityVpPayload(input);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Builds one unsigned compact VP JWT for the canonical
|
|
236
|
+
* individual-controller identity payload.
|
|
237
|
+
*/
|
|
238
|
+
buildUnsignedIdentityVpJwt(input, options = {}) {
|
|
239
|
+
return buildUnsignedIndividualControllerIdentityVpJwt(input, options);
|
|
240
|
+
}
|
|
201
241
|
/**
|
|
202
242
|
* Low-level escape hatch for direct submit/poll flows.
|
|
203
243
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type IndividualMemberCredentialInput, type IndividualMemberVpPayloadInput } from 'gdc-common-utils-ts';
|
|
1
2
|
import { type NodeRuntimeClient } from './client-port.js';
|
|
2
3
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js';
|
|
3
4
|
import type { RouteContext } from '../individual-onboarding.js';
|
|
@@ -14,4 +15,28 @@ export declare class IndividualMemberSdk {
|
|
|
14
15
|
* caregiver, guardian, or family member.
|
|
15
16
|
*/
|
|
16
17
|
requestSmartToken(input: SmartTokenRequestInput): Promise<SmartTokenExchangeResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
20
|
+
* the individual-member identity VC for SMART/OpenID4VP flows.
|
|
21
|
+
*/
|
|
22
|
+
getIdentitySameAs(input: IndividualMemberCredentialInput): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Builds the canonical individual-member identity VC used by shared SMART VP
|
|
25
|
+
* helpers.
|
|
26
|
+
*/
|
|
27
|
+
getIdentityVC(input: IndividualMemberCredentialInput): Record<string, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* Builds the canonical individual-member identity VP payload used by shared
|
|
30
|
+
* SMART/OpenID4VP helpers.
|
|
31
|
+
*/
|
|
32
|
+
buildIdentityVpPayload(input: IndividualMemberVpPayloadInput): Record<string, unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Builds one unsigned compact VP JWT for the canonical individual-member
|
|
35
|
+
* identity payload.
|
|
36
|
+
*/
|
|
37
|
+
buildUnsignedIdentityVpJwt(input: IndividualMemberVpPayloadInput, options?: Readonly<{
|
|
38
|
+
nowSeconds?: number;
|
|
39
|
+
ttlSeconds?: number;
|
|
40
|
+
nonce?: string;
|
|
41
|
+
}>): string;
|
|
17
42
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
|
+
import { buildIndividualMemberIdentityVpPayload, buildUnsignedIndividualMemberIdentityVpJwt, getIndividualMemberIdentitySameAs, getIndividualMemberIdentityVC, } from 'gdc-common-utils-ts';
|
|
2
3
|
import { requireClientMethod } from './client-port.js';
|
|
3
4
|
export class IndividualMemberSdk {
|
|
4
5
|
constructor(client) {
|
|
@@ -17,4 +18,32 @@ export class IndividualMemberSdk {
|
|
|
17
18
|
requestSmartToken(input) {
|
|
18
19
|
return requireClientMethod(this.client, 'requestSmartToken')(input);
|
|
19
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
23
|
+
* the individual-member identity VC for SMART/OpenID4VP flows.
|
|
24
|
+
*/
|
|
25
|
+
getIdentitySameAs(input) {
|
|
26
|
+
return getIndividualMemberIdentitySameAs(input);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Builds the canonical individual-member identity VC used by shared SMART VP
|
|
30
|
+
* helpers.
|
|
31
|
+
*/
|
|
32
|
+
getIdentityVC(input) {
|
|
33
|
+
return getIndividualMemberIdentityVC(input);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Builds the canonical individual-member identity VP payload used by shared
|
|
37
|
+
* SMART/OpenID4VP helpers.
|
|
38
|
+
*/
|
|
39
|
+
buildIdentityVpPayload(input) {
|
|
40
|
+
return buildIndividualMemberIdentityVpPayload(input);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Builds one unsigned compact VP JWT for the canonical individual-member
|
|
44
|
+
* identity payload.
|
|
45
|
+
*/
|
|
46
|
+
buildUnsignedIdentityVpJwt(input, options = {}) {
|
|
47
|
+
return buildUnsignedIndividualMemberIdentityVpJwt(input, options);
|
|
48
|
+
}
|
|
20
49
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type NodeRuntimeClient, type PollOptions, type SubmitAndPollResult, type SubmitPayload } from './client-port.js';
|
|
2
2
|
import type { IndividualOrganizationBootstrapInput, IndividualOrganizationStartResult } from '../individual-start.js';
|
|
3
3
|
import type { RouteContext } from '../individual-onboarding.js';
|
|
4
|
-
import type { ClinicalBundleSearchInput, CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, DigitalTwinGenerationInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, IpsOrFhirImportInput, LicenseListRuntimeSearchInput, LicenseOfferRuntimeSearchInput, LicenseOrderRuntimeSearchInput } from '../resource-operations.js';
|
|
4
|
+
import type { BlockchainArtifactRegistrationInput, ClinicalBundleSearchInput, CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, DigitalTwinGenerationInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, IpsOrFhirImportInput, LicenseListRuntimeSearchInput, LicenseOfferRuntimeSearchInput, LicenseOrderRuntimeSearchInput } from '../resource-operations.js';
|
|
5
5
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js';
|
|
6
6
|
export declare class PersonalSdk {
|
|
7
7
|
private readonly client;
|
|
@@ -14,6 +14,8 @@ export declare class PersonalSdk {
|
|
|
14
14
|
importIpsOrFhirAndUpdateIndex(ctx: RouteContext, input: IpsOrFhirImportInput): Promise<SubmitAndPollResult>;
|
|
15
15
|
/** Ingests canonical Communication and waits for projection completion. */
|
|
16
16
|
ingestCommunicationAndUpdateIndex(ctx: RouteContext, input: CommunicationIngestionInput): Promise<SubmitAndPollResult>;
|
|
17
|
+
/** Registers one FHIR resource or raw artifact on blockchain before communication. */
|
|
18
|
+
registerBlockchainArtifactAndUpdateIndex(ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
|
|
17
19
|
/** Searches indexed communication channel records by subject and participant identifiers. */
|
|
18
20
|
searchCommunicationParticipants(ctx: RouteContext, input: CommunicationParticipantRuntimeSearchInput): Promise<SubmitAndPollResult>;
|
|
19
21
|
/** Triggers digital twin generation from subject data. */
|
|
@@ -20,6 +20,10 @@ export class PersonalSdk {
|
|
|
20
20
|
ingestCommunicationAndUpdateIndex(ctx, input) {
|
|
21
21
|
return requireClientMethod(this.client, 'ingestCommunicationAndUpdateIndex')(ctx, input);
|
|
22
22
|
}
|
|
23
|
+
/** Registers one FHIR resource or raw artifact on blockchain before communication. */
|
|
24
|
+
registerBlockchainArtifactAndUpdateIndex(ctx, input) {
|
|
25
|
+
return requireClientMethod(this.client, 'registerBlockchainArtifactAndUpdateIndex')(ctx, input);
|
|
26
|
+
}
|
|
23
27
|
/** Searches indexed communication channel records by subject and participant identifiers. */
|
|
24
28
|
searchCommunicationParticipants(ctx, input) {
|
|
25
29
|
return requireClientMethod(this.client, 'searchCommunicationParticipants')(ctx, input);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { type ProfessionalEmployeeCredentialInput, type ProfessionalSmartVpPayloadInput } from 'gdc-common-utils-ts';
|
|
1
2
|
import { type NodeRuntimeClient, type PollOptions, type SubmitAndPollResult, type SubmitPayload } from './client-port.js';
|
|
2
3
|
import type { RouteContext } from '../individual-onboarding.js';
|
|
3
4
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from '../smart-token.js';
|
|
4
|
-
import type { CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, ClinicalBundleSearchInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult } from '../resource-operations.js';
|
|
5
|
+
import type { BlockchainArtifactRegistrationInput, CommunicationIngestionInput, CommunicationParticipantRuntimeSearchInput, ClinicalBundleSearchInput, GrantProfessionalAccessInput, GrantProfessionalAccessResult, VitalSignBatchCommunicationFromSearchResponseInput } from '../resource-operations.js';
|
|
5
6
|
/**
|
|
6
7
|
* Professional-oriented facade for runtime actions that belong to the
|
|
7
8
|
* professional actor itself after tenant and employee provisioning have already
|
|
@@ -29,6 +30,30 @@ export declare class ProfessionalSdk {
|
|
|
29
30
|
* `NodeHttpClient({ ctx })` instead of being repeated on every call.
|
|
30
31
|
*/
|
|
31
32
|
requestSmartToken(input: SmartTokenRequestInput): Promise<SmartTokenExchangeResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
35
|
+
* the professional identity VC for SMART/OpenID4VP flows.
|
|
36
|
+
*/
|
|
37
|
+
getIdentitySameAs(input: ProfessionalEmployeeCredentialInput): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Builds the canonical professional identity VC used by the shared SMART VP
|
|
40
|
+
* helpers.
|
|
41
|
+
*/
|
|
42
|
+
getIdentityVC(input: ProfessionalEmployeeCredentialInput): Record<string, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Builds the canonical professional identity VP payload used by the shared
|
|
45
|
+
* SMART/OpenID4VP helpers.
|
|
46
|
+
*/
|
|
47
|
+
buildIdentityVpPayload(input: ProfessionalSmartVpPayloadInput): Record<string, unknown>;
|
|
48
|
+
/**
|
|
49
|
+
* Builds one unsigned compact VP JWT for the canonical professional
|
|
50
|
+
* identity payload.
|
|
51
|
+
*/
|
|
52
|
+
buildUnsignedIdentityVpJwt(input: ProfessionalSmartVpPayloadInput, options?: Readonly<{
|
|
53
|
+
nowSeconds?: number;
|
|
54
|
+
ttlSeconds?: number;
|
|
55
|
+
nonce?: string;
|
|
56
|
+
}>): string;
|
|
32
57
|
/**
|
|
33
58
|
* Executes one clinical `Bundle/_search` using the professional actor
|
|
34
59
|
* session and tenant route context.
|
|
@@ -43,6 +68,16 @@ export declare class ProfessionalSdk {
|
|
|
43
68
|
* Ingests a FHIR `Communication` and waits for indexing.
|
|
44
69
|
*/
|
|
45
70
|
ingestCommunicationAndUpdateIndex(ctx: RouteContext, input: CommunicationIngestionInput): Promise<SubmitAndPollResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Registers one FHIR resource or raw document artifact on blockchain before
|
|
73
|
+
* the artifact is attached to a Communication.
|
|
74
|
+
*/
|
|
75
|
+
registerBlockchainArtifactAndUpdateIndex(ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Converts a paginated vital-sign search response into one Communication
|
|
78
|
+
* carrying the selected day-batch artifacts and submits it.
|
|
79
|
+
*/
|
|
80
|
+
submitVitalSignBatchCommunicationFromSearchResponse(ctx: RouteContext, input: VitalSignBatchCommunicationFromSearchResponseInput): Promise<SubmitAndPollResult>;
|
|
46
81
|
/**
|
|
47
82
|
* Searches indexed communication channel records by subject and participant
|
|
48
83
|
* identifiers.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
2
|
// Always create JSDoc, do not use strings inline in keys nor values, use types instead, and reuse the data test examples.
|
|
3
|
+
import { buildProfessionalIdentityVpPayload, buildUnsignedProfessionalIdentityVpJwt, getProfessionalIdentitySameAs, getProfessionalIdentityVC, } from 'gdc-common-utils-ts';
|
|
3
4
|
import { requireClientMethod, submitAndPollWithClient, } from './client-port.js';
|
|
4
5
|
/**
|
|
5
6
|
* Professional-oriented facade for runtime actions that belong to the
|
|
@@ -31,6 +32,34 @@ export class ProfessionalSdk {
|
|
|
31
32
|
requestSmartToken(input) {
|
|
32
33
|
return requireClientMethod(this.client, 'requestSmartToken')(input);
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns the normalized public continuity aliases that would be embedded in
|
|
37
|
+
* the professional identity VC for SMART/OpenID4VP flows.
|
|
38
|
+
*/
|
|
39
|
+
getIdentitySameAs(input) {
|
|
40
|
+
return getProfessionalIdentitySameAs(input);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Builds the canonical professional identity VC used by the shared SMART VP
|
|
44
|
+
* helpers.
|
|
45
|
+
*/
|
|
46
|
+
getIdentityVC(input) {
|
|
47
|
+
return getProfessionalIdentityVC(input);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Builds the canonical professional identity VP payload used by the shared
|
|
51
|
+
* SMART/OpenID4VP helpers.
|
|
52
|
+
*/
|
|
53
|
+
buildIdentityVpPayload(input) {
|
|
54
|
+
return buildProfessionalIdentityVpPayload(input);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Builds one unsigned compact VP JWT for the canonical professional
|
|
58
|
+
* identity payload.
|
|
59
|
+
*/
|
|
60
|
+
buildUnsignedIdentityVpJwt(input, options = {}) {
|
|
61
|
+
return buildUnsignedProfessionalIdentityVpJwt(input, options);
|
|
62
|
+
}
|
|
34
63
|
/**
|
|
35
64
|
* Executes one clinical `Bundle/_search` using the professional actor
|
|
36
65
|
* session and tenant route context.
|
|
@@ -51,6 +80,20 @@ export class ProfessionalSdk {
|
|
|
51
80
|
ingestCommunicationAndUpdateIndex(ctx, input) {
|
|
52
81
|
return requireClientMethod(this.client, 'ingestCommunicationAndUpdateIndex')(ctx, input);
|
|
53
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Registers one FHIR resource or raw document artifact on blockchain before
|
|
85
|
+
* the artifact is attached to a Communication.
|
|
86
|
+
*/
|
|
87
|
+
registerBlockchainArtifactAndUpdateIndex(ctx, input) {
|
|
88
|
+
return requireClientMethod(this.client, 'registerBlockchainArtifactAndUpdateIndex')(ctx, input);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Converts a paginated vital-sign search response into one Communication
|
|
92
|
+
* carrying the selected day-batch artifacts and submits it.
|
|
93
|
+
*/
|
|
94
|
+
submitVitalSignBatchCommunicationFromSearchResponse(ctx, input) {
|
|
95
|
+
return requireClientMethod(this.client, 'submitVitalSignBatchCommunicationFromSearchResponse')(ctx, input);
|
|
96
|
+
}
|
|
54
97
|
/**
|
|
55
98
|
* Searches indexed communication channel records by subject and participant
|
|
56
99
|
* identifiers.
|
|
@@ -2,7 +2,7 @@ import type { SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
|
2
2
|
import type { ProfileLoadRequest } from 'gdc-sdk-core-ts';
|
|
3
3
|
import type { RouteContext } from './individual-onboarding.js';
|
|
4
4
|
import type { SmartTokenExchangeResult, SmartTokenRequestInput } from './smart-token.js';
|
|
5
|
-
import type { ClinicalBundleSearchInput } from './resource-operations.js';
|
|
5
|
+
import type { BlockchainArtifactRegistrationInput, ClinicalBundleSearchInput } from './resource-operations.js';
|
|
6
6
|
import { type BackendProfessionalProfile, type BackendProfileRuntimeClient } from './backend-profile-runtime.js';
|
|
7
7
|
/**
|
|
8
8
|
* Backend use-case facade for the current professional happy path.
|
|
@@ -33,4 +33,9 @@ export declare class ProfessionalBackendRuntime {
|
|
|
33
33
|
* Reads the latest IPS-oriented bundle through the professional facade.
|
|
34
34
|
*/
|
|
35
35
|
getLatestIps(profile: BackendProfessionalProfile, ctx: RouteContext, input: Omit<ClinicalBundleSearchInput, 'includedTypes'>): Promise<SubmitAndPollResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Registers one FHIR resource or raw artifact on blockchain before it is
|
|
38
|
+
* attached to a communication.
|
|
39
|
+
*/
|
|
40
|
+
registerBlockchainArtifactAndUpdateIndex(profile: BackendProfessionalProfile, ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
|
|
36
41
|
}
|
|
@@ -38,4 +38,11 @@ export class ProfessionalBackendRuntime {
|
|
|
38
38
|
getLatestIps(profile, ctx, input) {
|
|
39
39
|
return profile.sdk.getLatestIps(ctx, input);
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Registers one FHIR resource or raw artifact on blockchain before it is
|
|
43
|
+
* attached to a communication.
|
|
44
|
+
*/
|
|
45
|
+
registerBlockchainArtifactAndUpdateIndex(profile, ctx, input) {
|
|
46
|
+
return profile.sdk.registerBlockchainArtifactAndUpdateIndex(ctx, input);
|
|
47
|
+
}
|
|
41
48
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommunicationAttachedBundleSession, IndividualBundleVault, buildVitalSignObservationClaims, createSummaryOperationRequestParameters, createSummaryOperationRequestParametersResource, summarizeClinicalBundle, toClinicalResourceExpandedViews, type BuildVitalSignObservationClaimsInput } from 'gdc-common-utils-ts';
|
|
2
|
+
import type { BundleEntry, BundleJsonApi } from 'gdc-common-utils-ts/models/bundle';
|
|
2
3
|
import type { BackendOrganizationControllerProfile, BackendProfessionalProfile } from './backend-profile-runtime.js';
|
|
3
4
|
export type IpsRequestDraft = Readonly<{
|
|
4
5
|
subjectId: string;
|
|
@@ -29,6 +30,17 @@ declare class ProfessionalSubjectIpsWorkspace {
|
|
|
29
30
|
processResponseBundleIps(body: unknown): ProcessedClinicalBundleResponse;
|
|
30
31
|
rememberResponseBundleIps(body: unknown): Promise<IndividualBundleVault>;
|
|
31
32
|
addVitalSign(input: BuildVitalSignObservationClaimsInput): Promise<IndividualBundleVault>;
|
|
33
|
+
buildVitalSignBatchCommunicationFromSearchResponse(searchResponse: unknown, selectedResourceIds?: readonly string[]): import("./resource-operations.js").CommunicationIngestionInput;
|
|
34
|
+
buildBlockchainArtifactBundleFromSearchResponse(searchResponse: unknown, selectedResourceIds?: readonly string[]): Readonly<{
|
|
35
|
+
availableResourceIds: readonly string[];
|
|
36
|
+
anchoredResourceIds: readonly string[];
|
|
37
|
+
unanchoredResourceIds: readonly string[];
|
|
38
|
+
selectedResourceIds: readonly string[];
|
|
39
|
+
missingResourceIds: readonly string[];
|
|
40
|
+
returnedCount: number;
|
|
41
|
+
totalCount: number;
|
|
42
|
+
bundle: BundleJsonApi<BundleEntry>;
|
|
43
|
+
}>;
|
|
32
44
|
get cache(): IndividualBundleVault;
|
|
33
45
|
}
|
|
34
46
|
declare class ProfessionalSubjectWorkspace {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
2
|
import { CommunicationAttachedBundleSession, IndividualBundleVault, VaultMemRepository, buildVitalSignObservationClaims, createConsentAccessEditor, createInvoiceBundleEditor, createSummaryOperationRequestParameters, createSummaryOperationRequestParametersResource, createSummaryOperationRequestReferencePath, readEmployeeSearchResults, summarizeClinicalBundle, summarizeLicenseListRecords, toClinicalResourceExpandedViews, } from 'gdc-common-utils-ts';
|
|
3
|
+
import { buildBlockchainArtifactBundleFromSearchResponse, buildVitalSignBatchCommunicationFromSearchResponse } from './resource-operations.js';
|
|
3
4
|
function normalizeSectionList(sectionList) {
|
|
4
5
|
return Array.from(new Set((sectionList || []).map((item) => String(item || '').trim()).filter(Boolean)));
|
|
5
6
|
}
|
|
@@ -69,6 +70,20 @@ class ProfessionalSubjectIpsWorkspace {
|
|
|
69
70
|
await this.bundleVault.upsertVitalSign(input);
|
|
70
71
|
return this.bundleVault;
|
|
71
72
|
}
|
|
73
|
+
buildVitalSignBatchCommunicationFromSearchResponse(searchResponse, selectedResourceIds) {
|
|
74
|
+
return buildVitalSignBatchCommunicationFromSearchResponse({
|
|
75
|
+
subject: this.subjectId,
|
|
76
|
+
searchResponse,
|
|
77
|
+
selectedResourceIds,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
buildBlockchainArtifactBundleFromSearchResponse(searchResponse, selectedResourceIds) {
|
|
81
|
+
return buildBlockchainArtifactBundleFromSearchResponse({
|
|
82
|
+
subject: this.subjectId,
|
|
83
|
+
searchResponse,
|
|
84
|
+
selectedResourceIds,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
72
87
|
get cache() {
|
|
73
88
|
return this.bundleVault;
|
|
74
89
|
}
|