@healthcloudai/hc-safe-cdx 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,27 +1,8 @@
1
1
  import { HCLoginClient } from '@healthcloudai/hc-login-connector';
2
- import { HttpClient } from '@healthcloudai/hc-http';
2
+ export { Environment } from '@healthcloudai/hc-login-connector';
3
+ import { HCBaseConnector, HttpClient, APIResponse } from '@healthcloudai/hc-http';
4
+ export { APIError, APIResponse, ConfigError, HCServiceError, NetworkError, ValidationError } from '@healthcloudai/hc-http';
3
5
 
4
- type Environment = "dev" | "uat" | "prod";
5
- /**
6
- * Health Cloud request envelope.
7
- *
8
- * SDK consumers provide only method arguments or the inner payload.
9
- * HCSafeCDXClient creates the Data wrapper internally.
10
- */
11
- interface APIRequest<T> {
12
- Data: T;
13
- }
14
- /**
15
- * Standard Health Cloud API response envelope.
16
- *
17
- * Connector methods return this response without unwrapping or transforming it.
18
- * Data may be null when the backend returns an unsuccessful response.
19
- */
20
- interface APIResponse<T> {
21
- Data: T | null;
22
- IsOK: boolean;
23
- ErrorMessage: string | null;
24
- }
25
6
  /**
26
7
  * SafeCDX service response.
27
8
  *
@@ -416,11 +397,7 @@ type GetResultDetailsRequest = UserTestResultIdRequest;
416
397
  type GetResultPdfRequest = UserTestResultIdRequest;
417
398
  type GetImageCaptureUrlRequest = UserTestResultIdRequest;
418
399
  type FinalizeTestRequest = UserTestResultIdRequest;
419
- type GetPendingResultsData = SafeAPIResponse<TestResultSummary[]>;
420
- type GetLastResultsData = SafeAPIResponse<TestResultDetails>;
421
- type GetTestHistoryData = SafeAPIResponse<TestResultSummary[]>;
422
400
  type GetResultDetailsResponse = SafeAPIResponse<TestResultDetails>;
423
- type GetResultPdfData = SafeAPIResponse<string>;
424
401
  type GetImageCaptureUrlResponse = SafeAPIResponse<string>;
425
402
  interface ResumeFlowRequest extends UserTestResultIdRequest {
426
403
  Resumed: boolean;
@@ -433,7 +410,6 @@ interface ResumeFlowResult {
433
410
  failoverTriggered: boolean;
434
411
  showValidity: boolean;
435
412
  }
436
- type ResumeFlowData = SafeAPIResponse<ResumeFlowResult>;
437
413
  interface AnswerResult {
438
414
  Analyte: string;
439
415
  ReportedValue: string;
@@ -447,21 +423,16 @@ interface AnswerResult {
447
423
  interface SubmitAnswersRequest extends UserTestResultIdRequest {
448
424
  Result: AnswerResult[];
449
425
  }
450
- type SubmitAnswersData = SafeAPIResponse<EntityReferenceData>;
451
426
  /**
452
427
  * The client sends only UserTestResultId
453
428
 
454
429
  */
455
430
  type FinalizeTestData = unknown;
456
431
 
457
- declare class HCSafeCDXClient {
458
- private readonly http;
459
- private readonly loginClient;
432
+ declare class HCSafeCDXClient extends HCBaseConnector {
433
+ private readonly auth;
460
434
  private readonly baseUrl;
461
- private apiKeyHeaderName?;
462
- private apiKeyValue?;
463
435
  constructor(httpClient: HttpClient, loginClient: HCLoginClient);
464
- setApiKey(headerName: string, value: string): void;
465
436
  /**
466
437
  * GET gs1/:gtin
467
438
  * Resolves the SafeCDX test profile associated with a GTIN barcode.
@@ -469,11 +440,11 @@ declare class HCSafeCDXClient {
469
440
  getTestProfileByGTIN(gtin: string): Promise<APIResponse<GetTestProfileByGTINData>>;
470
441
  /**
471
442
  * POST test/profiles/by-account
472
-
473
443
  *
444
+ * Returns test profiles configured for the authenticated patient's account.
474
445
  * TenantId is resolved by the backend from the authenticated patient context.
475
446
  */
476
- getTestProfilesByAccount(includeRegisterTestDetails?: boolean): Promise<APIResponse<GetTestProfilesByAccountData>>;
447
+ listTestProfilesByAccount(includeRegisterTestDetails?: boolean): Promise<SafeAPIResponse<TestProfileByAccountItem[]>>;
477
448
  /**
478
449
  * POST upload/url
479
450
  * Requests a pre-signed URL used to upload a test image.
@@ -483,52 +454,49 @@ declare class HCSafeCDXClient {
483
454
  * PUT preSignedURL
484
455
  * Uploads the image directly to the pre-signed storage URL.
485
456
  *
486
- * This request does not call a SafeCDX API route and does not send
487
- * authenticated Health Cloud headers.
457
+ * This request does NOT call a SafeCDX API route and does NOT send
458
+ * Health Cloud auth headers — it targets the storage provider directly.
459
+ * The pre-signed URL embeds credentials; no Authorization header is needed.
488
460
  */
489
461
  uploadImage(preSignedURL: string, image: BodyInit, contentType?: string): Promise<void>;
490
462
  /**
491
463
  * POST cvml/status
492
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
464
+ * Updates the CVML processing status for an image capture.
493
465
  */
494
466
  updateCvmlStatus(imageOfCaptureId: string, cvmlStatus: string): Promise<UpdateCvmlStatusResponse>;
495
467
  /**
496
468
  * GET cvml/results
497
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
469
+ * Returns the CVML analysis results for an image capture.
498
470
  */
499
471
  getCvmlResults(imageOfCaptureId: string): Promise<GetCvmlResultsResponse>;
500
- /** POST test/result/pending */
501
- getPendingResults(excludeStatus?: string): Promise<APIResponse<GetPendingResultsData>>;
502
- /** POST test/result/last */
503
- getLastResults(excludeStatus?: string): Promise<APIResponse<GetLastResultsData>>;
504
- /** POST test/result/history */
505
- getTestHistory(excludeStatus?: string): Promise<APIResponse<GetTestHistoryData>>;
472
+ /** POST test/result/pending — returns pending test results excluding the given statuses. */
473
+ listPendingResults(excludeStatus?: string): Promise<SafeAPIResponse<TestResultSummary[]>>;
474
+ /** POST test/result/last — returns the most recent test result. */
475
+ getLastResults(excludeStatus?: string): Promise<SafeAPIResponse<TestResultDetails>>;
476
+ /** POST test/result/history — returns all test results excluding the given statuses. */
477
+ listTestHistory(excludeStatus?: string): Promise<SafeAPIResponse<TestResultSummary[]>>;
506
478
  /**
507
479
  * POST test/result/details
508
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
480
+ * Returns full details for a single test result.
509
481
  */
510
482
  getResultDetails(userTestResultId: string): Promise<GetResultDetailsResponse>;
511
- /** POST test/result/pdf */
512
- getResultPdf(userTestResultId: string): Promise<APIResponse<GetResultPdfData>>;
483
+ /** POST test/result/pdf — returns the PDF report for a test result. */
484
+ getResultPdf(userTestResultId: string): Promise<SafeAPIResponse<string>>;
513
485
  /**
514
486
  * POST test/result/image/capture
515
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
487
+ * Returns a URL to capture an image for the given test result.
516
488
  */
517
489
  getImageCaptureUrl(userTestResultId: string): Promise<GetImageCaptureUrlResponse>;
518
490
  /** POST test/resume */
519
- resumeFlow(userTestResultId: string, resumed?: boolean): Promise<APIResponse<ResumeFlowData>>;
491
+ resumeFlow(userTestResultId: string, resumed?: boolean): Promise<SafeAPIResponse<ResumeFlowResult>>;
520
492
  /** POST test/answers */
521
- submitAnswers(submission: SubmitAnswersRequest): Promise<APIResponse<SubmitAnswersData>>;
493
+ submitAnswers(submission: SubmitAnswersRequest): Promise<SafeAPIResponse<EntityReferenceData>>;
522
494
  /** POST test/finalize */
523
- finalizeTest(userTestResultId: string): Promise<APIResponse<FinalizeTestData>>;
495
+ finalizeTest(userTestResultId: string): Promise<APIResponse<unknown>>;
496
+ protected executeSafe<T>(operation: string, request: () => Promise<SafeAPIResponse<T>>): Promise<SafeAPIResponse<T>>;
497
+ private isSafeApiResponse;
524
498
  private getAuthHeaders;
525
- private getJsonHeaders;
526
- private getApiKeyHeader;
527
499
  private url;
528
500
  }
529
501
 
530
- declare class ConfigError extends Error {
531
- constructor(message: string);
532
- }
533
-
534
- export { type APIRequest, type APIResponse, type AnswerResult, type CaptureState, ConfigError, type CreateUploadUrlData, type CreateUploadUrlRequest, type CvmlImageOfCaptureResult, type CvmlParsedResult, type CvmlResultsData, type DiagnosticProfileCta, type DiagnosticProfileData, type DiagnosticProfileDecision, type DiagnosticProfileDecisionResult, type DiagnosticProfileIndication, type DiagnosticProfileTestInfo, type DisclaimerDetail, type EntityReferenceData, type Environment, type ExcludeStatusRequest, type FinalizeTestData, type FinalizeTestRequest, type GetCvmlResultsResponse, type GetImageCaptureUrlRequest, type GetImageCaptureUrlResponse, type GetLastResultsData, type GetLastResultsRequest, type GetPendingResultsData, type GetPendingResultsRequest, type GetResultDetailsRequest, type GetResultDetailsResponse, type GetResultPdfData, type GetResultPdfRequest, type GetTestHistoryData, type GetTestHistoryRequest, type GetTestProfileByGTINData, type GetTestProfilesByAccountData, type GetTestProfilesByAccountRequest, HCSafeCDXClient, type ImageOfCaptureResult, type ProductAssetDetail, type QuestionnaireAnalyte, type QuestionnaireAnalyteResponse, type QuestionnaireSnapshot, type QuestionnaireValidityItem, type RegisterTestDetail, type ReportedAnswerResult, type ResumeFlowData, type ResumeFlowRequest, type ResumeFlowResult, type SafeAPIResponse, type SubmitAnswersData, type SubmitAnswersRequest, type TestProfileAnalyte, type TestProfileAnalyteResponse, type TestProfileArticle, type TestProfileBillingInfo, type TestProfileByAccountItem, type TestProfileInstruction, type TestProfileResult, type TestProfileScanImageDetail, type TestProfileTerritory, type TestResultDetails, type TestResultSummary, type UpdateCvmlStatusRequest, type UpdateCvmlStatusResponse, type UploadMetadata, type UserTestResultIdRequest };
502
+ export { type AnswerResult, type CaptureState, type CreateUploadUrlData, type CreateUploadUrlRequest, type CvmlImageOfCaptureResult, type CvmlParsedResult, type CvmlResultsData, type DiagnosticProfileCta, type DiagnosticProfileData, type DiagnosticProfileDecision, type DiagnosticProfileDecisionResult, type DiagnosticProfileIndication, type DiagnosticProfileTestInfo, type DisclaimerDetail, type EntityReferenceData, type ExcludeStatusRequest, type FinalizeTestData, type FinalizeTestRequest, type GetCvmlResultsResponse, type GetImageCaptureUrlRequest, type GetImageCaptureUrlResponse, type GetLastResultsRequest, type GetPendingResultsRequest, type GetResultDetailsRequest, type GetResultDetailsResponse, type GetResultPdfRequest, type GetTestHistoryRequest, type GetTestProfileByGTINData, type GetTestProfilesByAccountData, type GetTestProfilesByAccountRequest, HCSafeCDXClient, type ImageOfCaptureResult, type ProductAssetDetail, type QuestionnaireAnalyte, type QuestionnaireAnalyteResponse, type QuestionnaireSnapshot, type QuestionnaireValidityItem, type RegisterTestDetail, type ReportedAnswerResult, type ResumeFlowRequest, type ResumeFlowResult, type SafeAPIResponse, type SubmitAnswersRequest, type TestProfileAnalyte, type TestProfileAnalyteResponse, type TestProfileArticle, type TestProfileBillingInfo, type TestProfileByAccountItem, type TestProfileInstruction, type TestProfileResult, type TestProfileScanImageDetail, type TestProfileTerritory, type TestResultDetails, type TestResultSummary, type UpdateCvmlStatusRequest, type UpdateCvmlStatusResponse, type UploadMetadata, type UserTestResultIdRequest };
package/dist/index.d.ts CHANGED
@@ -1,27 +1,8 @@
1
1
  import { HCLoginClient } from '@healthcloudai/hc-login-connector';
2
- import { HttpClient } from '@healthcloudai/hc-http';
2
+ export { Environment } from '@healthcloudai/hc-login-connector';
3
+ import { HCBaseConnector, HttpClient, APIResponse } from '@healthcloudai/hc-http';
4
+ export { APIError, APIResponse, ConfigError, HCServiceError, NetworkError, ValidationError } from '@healthcloudai/hc-http';
3
5
 
4
- type Environment = "dev" | "uat" | "prod";
5
- /**
6
- * Health Cloud request envelope.
7
- *
8
- * SDK consumers provide only method arguments or the inner payload.
9
- * HCSafeCDXClient creates the Data wrapper internally.
10
- */
11
- interface APIRequest<T> {
12
- Data: T;
13
- }
14
- /**
15
- * Standard Health Cloud API response envelope.
16
- *
17
- * Connector methods return this response without unwrapping or transforming it.
18
- * Data may be null when the backend returns an unsuccessful response.
19
- */
20
- interface APIResponse<T> {
21
- Data: T | null;
22
- IsOK: boolean;
23
- ErrorMessage: string | null;
24
- }
25
6
  /**
26
7
  * SafeCDX service response.
27
8
  *
@@ -416,11 +397,7 @@ type GetResultDetailsRequest = UserTestResultIdRequest;
416
397
  type GetResultPdfRequest = UserTestResultIdRequest;
417
398
  type GetImageCaptureUrlRequest = UserTestResultIdRequest;
418
399
  type FinalizeTestRequest = UserTestResultIdRequest;
419
- type GetPendingResultsData = SafeAPIResponse<TestResultSummary[]>;
420
- type GetLastResultsData = SafeAPIResponse<TestResultDetails>;
421
- type GetTestHistoryData = SafeAPIResponse<TestResultSummary[]>;
422
400
  type GetResultDetailsResponse = SafeAPIResponse<TestResultDetails>;
423
- type GetResultPdfData = SafeAPIResponse<string>;
424
401
  type GetImageCaptureUrlResponse = SafeAPIResponse<string>;
425
402
  interface ResumeFlowRequest extends UserTestResultIdRequest {
426
403
  Resumed: boolean;
@@ -433,7 +410,6 @@ interface ResumeFlowResult {
433
410
  failoverTriggered: boolean;
434
411
  showValidity: boolean;
435
412
  }
436
- type ResumeFlowData = SafeAPIResponse<ResumeFlowResult>;
437
413
  interface AnswerResult {
438
414
  Analyte: string;
439
415
  ReportedValue: string;
@@ -447,21 +423,16 @@ interface AnswerResult {
447
423
  interface SubmitAnswersRequest extends UserTestResultIdRequest {
448
424
  Result: AnswerResult[];
449
425
  }
450
- type SubmitAnswersData = SafeAPIResponse<EntityReferenceData>;
451
426
  /**
452
427
  * The client sends only UserTestResultId
453
428
 
454
429
  */
455
430
  type FinalizeTestData = unknown;
456
431
 
457
- declare class HCSafeCDXClient {
458
- private readonly http;
459
- private readonly loginClient;
432
+ declare class HCSafeCDXClient extends HCBaseConnector {
433
+ private readonly auth;
460
434
  private readonly baseUrl;
461
- private apiKeyHeaderName?;
462
- private apiKeyValue?;
463
435
  constructor(httpClient: HttpClient, loginClient: HCLoginClient);
464
- setApiKey(headerName: string, value: string): void;
465
436
  /**
466
437
  * GET gs1/:gtin
467
438
  * Resolves the SafeCDX test profile associated with a GTIN barcode.
@@ -469,11 +440,11 @@ declare class HCSafeCDXClient {
469
440
  getTestProfileByGTIN(gtin: string): Promise<APIResponse<GetTestProfileByGTINData>>;
470
441
  /**
471
442
  * POST test/profiles/by-account
472
-
473
443
  *
444
+ * Returns test profiles configured for the authenticated patient's account.
474
445
  * TenantId is resolved by the backend from the authenticated patient context.
475
446
  */
476
- getTestProfilesByAccount(includeRegisterTestDetails?: boolean): Promise<APIResponse<GetTestProfilesByAccountData>>;
447
+ listTestProfilesByAccount(includeRegisterTestDetails?: boolean): Promise<SafeAPIResponse<TestProfileByAccountItem[]>>;
477
448
  /**
478
449
  * POST upload/url
479
450
  * Requests a pre-signed URL used to upload a test image.
@@ -483,52 +454,49 @@ declare class HCSafeCDXClient {
483
454
  * PUT preSignedURL
484
455
  * Uploads the image directly to the pre-signed storage URL.
485
456
  *
486
- * This request does not call a SafeCDX API route and does not send
487
- * authenticated Health Cloud headers.
457
+ * This request does NOT call a SafeCDX API route and does NOT send
458
+ * Health Cloud auth headers — it targets the storage provider directly.
459
+ * The pre-signed URL embeds credentials; no Authorization header is needed.
488
460
  */
489
461
  uploadImage(preSignedURL: string, image: BodyInit, contentType?: string): Promise<void>;
490
462
  /**
491
463
  * POST cvml/status
492
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
464
+ * Updates the CVML processing status for an image capture.
493
465
  */
494
466
  updateCvmlStatus(imageOfCaptureId: string, cvmlStatus: string): Promise<UpdateCvmlStatusResponse>;
495
467
  /**
496
468
  * GET cvml/results
497
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
469
+ * Returns the CVML analysis results for an image capture.
498
470
  */
499
471
  getCvmlResults(imageOfCaptureId: string): Promise<GetCvmlResultsResponse>;
500
- /** POST test/result/pending */
501
- getPendingResults(excludeStatus?: string): Promise<APIResponse<GetPendingResultsData>>;
502
- /** POST test/result/last */
503
- getLastResults(excludeStatus?: string): Promise<APIResponse<GetLastResultsData>>;
504
- /** POST test/result/history */
505
- getTestHistory(excludeStatus?: string): Promise<APIResponse<GetTestHistoryData>>;
472
+ /** POST test/result/pending — returns pending test results excluding the given statuses. */
473
+ listPendingResults(excludeStatus?: string): Promise<SafeAPIResponse<TestResultSummary[]>>;
474
+ /** POST test/result/last — returns the most recent test result. */
475
+ getLastResults(excludeStatus?: string): Promise<SafeAPIResponse<TestResultDetails>>;
476
+ /** POST test/result/history — returns all test results excluding the given statuses. */
477
+ listTestHistory(excludeStatus?: string): Promise<SafeAPIResponse<TestResultSummary[]>>;
506
478
  /**
507
479
  * POST test/result/details
508
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
480
+ * Returns full details for a single test result.
509
481
  */
510
482
  getResultDetails(userTestResultId: string): Promise<GetResultDetailsResponse>;
511
- /** POST test/result/pdf */
512
- getResultPdf(userTestResultId: string): Promise<APIResponse<GetResultPdfData>>;
483
+ /** POST test/result/pdf — returns the PDF report for a test result. */
484
+ getResultPdf(userTestResultId: string): Promise<SafeAPIResponse<string>>;
513
485
  /**
514
486
  * POST test/result/image/capture
515
- * Returns the direct SafeCDX response without an outer APIResponse wrapper.
487
+ * Returns a URL to capture an image for the given test result.
516
488
  */
517
489
  getImageCaptureUrl(userTestResultId: string): Promise<GetImageCaptureUrlResponse>;
518
490
  /** POST test/resume */
519
- resumeFlow(userTestResultId: string, resumed?: boolean): Promise<APIResponse<ResumeFlowData>>;
491
+ resumeFlow(userTestResultId: string, resumed?: boolean): Promise<SafeAPIResponse<ResumeFlowResult>>;
520
492
  /** POST test/answers */
521
- submitAnswers(submission: SubmitAnswersRequest): Promise<APIResponse<SubmitAnswersData>>;
493
+ submitAnswers(submission: SubmitAnswersRequest): Promise<SafeAPIResponse<EntityReferenceData>>;
522
494
  /** POST test/finalize */
523
- finalizeTest(userTestResultId: string): Promise<APIResponse<FinalizeTestData>>;
495
+ finalizeTest(userTestResultId: string): Promise<APIResponse<unknown>>;
496
+ protected executeSafe<T>(operation: string, request: () => Promise<SafeAPIResponse<T>>): Promise<SafeAPIResponse<T>>;
497
+ private isSafeApiResponse;
524
498
  private getAuthHeaders;
525
- private getJsonHeaders;
526
- private getApiKeyHeader;
527
499
  private url;
528
500
  }
529
501
 
530
- declare class ConfigError extends Error {
531
- constructor(message: string);
532
- }
533
-
534
- export { type APIRequest, type APIResponse, type AnswerResult, type CaptureState, ConfigError, type CreateUploadUrlData, type CreateUploadUrlRequest, type CvmlImageOfCaptureResult, type CvmlParsedResult, type CvmlResultsData, type DiagnosticProfileCta, type DiagnosticProfileData, type DiagnosticProfileDecision, type DiagnosticProfileDecisionResult, type DiagnosticProfileIndication, type DiagnosticProfileTestInfo, type DisclaimerDetail, type EntityReferenceData, type Environment, type ExcludeStatusRequest, type FinalizeTestData, type FinalizeTestRequest, type GetCvmlResultsResponse, type GetImageCaptureUrlRequest, type GetImageCaptureUrlResponse, type GetLastResultsData, type GetLastResultsRequest, type GetPendingResultsData, type GetPendingResultsRequest, type GetResultDetailsRequest, type GetResultDetailsResponse, type GetResultPdfData, type GetResultPdfRequest, type GetTestHistoryData, type GetTestHistoryRequest, type GetTestProfileByGTINData, type GetTestProfilesByAccountData, type GetTestProfilesByAccountRequest, HCSafeCDXClient, type ImageOfCaptureResult, type ProductAssetDetail, type QuestionnaireAnalyte, type QuestionnaireAnalyteResponse, type QuestionnaireSnapshot, type QuestionnaireValidityItem, type RegisterTestDetail, type ReportedAnswerResult, type ResumeFlowData, type ResumeFlowRequest, type ResumeFlowResult, type SafeAPIResponse, type SubmitAnswersData, type SubmitAnswersRequest, type TestProfileAnalyte, type TestProfileAnalyteResponse, type TestProfileArticle, type TestProfileBillingInfo, type TestProfileByAccountItem, type TestProfileInstruction, type TestProfileResult, type TestProfileScanImageDetail, type TestProfileTerritory, type TestResultDetails, type TestResultSummary, type UpdateCvmlStatusRequest, type UpdateCvmlStatusResponse, type UploadMetadata, type UserTestResultIdRequest };
502
+ export { type AnswerResult, type CaptureState, type CreateUploadUrlData, type CreateUploadUrlRequest, type CvmlImageOfCaptureResult, type CvmlParsedResult, type CvmlResultsData, type DiagnosticProfileCta, type DiagnosticProfileData, type DiagnosticProfileDecision, type DiagnosticProfileDecisionResult, type DiagnosticProfileIndication, type DiagnosticProfileTestInfo, type DisclaimerDetail, type EntityReferenceData, type ExcludeStatusRequest, type FinalizeTestData, type FinalizeTestRequest, type GetCvmlResultsResponse, type GetImageCaptureUrlRequest, type GetImageCaptureUrlResponse, type GetLastResultsRequest, type GetPendingResultsRequest, type GetResultDetailsRequest, type GetResultDetailsResponse, type GetResultPdfRequest, type GetTestHistoryRequest, type GetTestProfileByGTINData, type GetTestProfilesByAccountData, type GetTestProfilesByAccountRequest, HCSafeCDXClient, type ImageOfCaptureResult, type ProductAssetDetail, type QuestionnaireAnalyte, type QuestionnaireAnalyteResponse, type QuestionnaireSnapshot, type QuestionnaireValidityItem, type RegisterTestDetail, type ReportedAnswerResult, type ResumeFlowRequest, type ResumeFlowResult, type SafeAPIResponse, type SubmitAnswersRequest, type TestProfileAnalyte, type TestProfileAnalyteResponse, type TestProfileArticle, type TestProfileBillingInfo, type TestProfileByAccountItem, type TestProfileInstruction, type TestProfileResult, type TestProfileScanImageDetail, type TestProfileTerritory, type TestResultDetails, type TestResultSummary, type UpdateCvmlStatusRequest, type UpdateCvmlStatusResponse, type UploadMetadata, type UserTestResultIdRequest };