@icanbwell/bwell-sdk-ts 1.39.0 → 1.40.0-rc.1758880937

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.
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * This file is automatically generated. Please do not edit this file directly.
3
3
  */
4
- export declare const VERSION = "1.39.0";
4
+ export declare const VERSION = "1.40.0-rc.1758880937";
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * This file is automatically generated. Please do not edit this file directly.
3
3
  */
4
- export const VERSION = "1.39.0";
4
+ export const VERSION = "1.40.0-rc.1758880937";
@@ -1,3 +1,4 @@
1
1
  export { NextQuestionRequest, NextQuestionRequestInput, } from "./next-question-request.js";
2
- export { NextQuestionResults, QuestionnaireManager, QuestionnaireResponsesResults, } from "./questionnaire-manager.js";
2
+ export { SaveQuestionnaireResponseRequest, SaveQuestionnaireResponseRequestInput, } from "./save-questionnaire-response-request.js";
3
+ export { NextQuestionResults, QuestionnaireManager, QuestionnaireResponsesResults, SaveQuestionnaireResponseResults, } from "./questionnaire-manager.js";
3
4
  export { QuestionnaireResponsesRequest, QuestionnaireResponsesRequestInput, } from "./questionnaire-responses-request.js";
@@ -1,2 +1,3 @@
1
1
  export { NextQuestionRequest, } from "./next-question-request.js";
2
+ export { SaveQuestionnaireResponseRequest, } from "./save-questionnaire-response-request.js";
2
3
  export { QuestionnaireResponsesRequest, } from "./questionnaire-responses-request.js";
@@ -1,10 +1,12 @@
1
1
  import { ValidationError } from "../../../errors/index.js";
2
- import { GetQuestionnaireResponsesQueryResults, NextQuestionMutationResults } from "../../../graphql/operations/types.js";
2
+ import { GetQuestionnaireResponsesQueryResults, NextQuestionMutationResults, SaveQuestionnaireResponseMutationResults } from "../../../graphql/operations/types.js";
3
3
  import { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
4
4
  import { NextQuestionRequest } from "../../base/questionnaire/next-question-request.js";
5
5
  import { QuestionnaireResponsesRequest } from "../../base/questionnaire/questionnaire-responses-request.js";
6
+ import { SaveQuestionnaireResponseRequest } from "../../base/questionnaire/save-questionnaire-response-request.js";
6
7
  import { BaseManagerError } from "../errors.js";
7
8
  export type NextQuestionResults = NextQuestionMutationResults["nextQuestion"];
9
+ export type SaveQuestionnaireResponseResults = SaveQuestionnaireResponseMutationResults["saveQuestionnaireResponse"];
8
10
  export type QuestionnaireResponsesResults = GetQuestionnaireResponsesQueryResults["questionnaireResponses"];
9
11
  /**
10
12
  * Interface representing a manager for handling operations related to questionnaires.
@@ -19,6 +21,14 @@ export interface QuestionnaireManager {
19
21
  * or an error of type `BaseManagerError`.
20
22
  */
21
23
  nextQuestion(request: NextQuestionRequest): Promise<BWellTransactionResult<NextQuestionResults, BaseManagerError>>;
24
+ /**
25
+ * Saves a questionnaire response.
26
+ *
27
+ * @param request - The request object containing the questionnaire response data to save.
28
+ * @returns A promise that resolves to a `BWellTransactionResult` containing the saved questionnaire response
29
+ * or an error of type `BaseManagerError`.
30
+ */
31
+ saveQuestionnaireResponse(request: SaveQuestionnaireResponseRequest): Promise<BWellTransactionResult<SaveQuestionnaireResponseResults, BaseManagerError>>;
22
32
  /**
23
33
  * Retrieves questionnaire responses based on the provided request parameters.
24
34
  *
@@ -0,0 +1,22 @@
1
+ import { SaveQuestionnaireResponseMutationVariables } from "../../../graphql/operations/types.js";
2
+ import { ErrorsCollector, ValidationRequest, Validator } from "../../../requests/index.js";
3
+ /**
4
+ * Input type for the `saveQuestionnaireResponse` mutation. Used to save questionnaire responses.
5
+ * @title SaveQuestionnaireResponseRequestInput
6
+ * @excerpt Input for saving questionnaire responses
7
+ * @category Inputs
8
+ */
9
+ export type SaveQuestionnaireResponseRequestInput = SaveQuestionnaireResponseMutationVariables;
10
+ declare class SaveQuestionnaireResponseRequestValidator implements Validator<SaveQuestionnaireResponseRequestInput> {
11
+ validate(data: SaveQuestionnaireResponseRequestInput, errors: ErrorsCollector): void;
12
+ }
13
+ /**
14
+ * Request object for handling save questionnaire response mutations.
15
+ * @category Requests
16
+ * @title SaveQuestionnaireResponseRequest
17
+ * @excerpt Request object for handling save questionnaire response mutations
18
+ */
19
+ export declare class SaveQuestionnaireResponseRequest extends ValidationRequest<SaveQuestionnaireResponseRequestInput> {
20
+ protected validator: SaveQuestionnaireResponseRequestValidator;
21
+ }
22
+ export {};
@@ -0,0 +1,33 @@
1
+ import { ValidationRequest, } from "../../../requests/index.js";
2
+ import { isNullOrUndefined, isNullOrUndefinedOrEmptyString, } from "../../../utils/type-utils.js";
3
+ class SaveQuestionnaireResponseRequestValidator {
4
+ validate(data, errors) {
5
+ const questionnaireResponse = data.questionnaireResponse;
6
+ if (isNullOrUndefined(questionnaireResponse)) {
7
+ errors.add("questionnaireResponse is required");
8
+ return;
9
+ }
10
+ if (isNullOrUndefinedOrEmptyString(questionnaireResponse.resourceType) ||
11
+ questionnaireResponse.resourceType !== "QuestionnaireResponse") {
12
+ errors.add('questionnaireResponse.resourceType must be "QuestionnaireResponse"');
13
+ }
14
+ if (isNullOrUndefinedOrEmptyString(questionnaireResponse.status)) {
15
+ errors.add("questionnaireResponse.status is required");
16
+ }
17
+ if (isNullOrUndefinedOrEmptyString(questionnaireResponse.questionnaire)) {
18
+ errors.add("questionnaireResponse.questionnaire is required");
19
+ }
20
+ }
21
+ }
22
+ /**
23
+ * Request object for handling save questionnaire response mutations.
24
+ * @category Requests
25
+ * @title SaveQuestionnaireResponseRequest
26
+ * @excerpt Request object for handling save questionnaire response mutations
27
+ */
28
+ export class SaveQuestionnaireResponseRequest extends ValidationRequest {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.validator = new SaveQuestionnaireResponseRequestValidator();
32
+ }
33
+ }
@@ -1,4 +1,4 @@
1
- import { FilterField as GraphQLFilterField, OrganizationType as GraphQLOrganizationType, SortField as GraphQLSortField, SortOrder as GraphQLSortOrder, OrderByInput, SearchFiltersInput, SearchLocation, UserInput } from "../../../graphql/schema.js";
1
+ import { ClientInput, FilterField as GraphQLFilterField, OrganizationType as GraphQLOrganizationType, SortField as GraphQLSortField, SortOrder as GraphQLSortOrder, OrderByInput, SearchFiltersInput, SearchLocation, UserInput } from "../../../graphql/schema.js";
2
2
  import { PagedRequest, PagedRequestInput, PagedRequestValidator } from "../../../requests/index.js";
3
3
  /**
4
4
  * Type representing the search filters for health resources.
@@ -52,10 +52,14 @@ export type OrderBy = {
52
52
  * @experimental
53
53
  */
54
54
  export type SearchHealthResourcesRequestInput = PagedRequestInput & {
55
+ /**
56
+ * The client configuration to search for health resources.
57
+ */
58
+ client: [ClientInput];
55
59
  /**
56
60
  * The filters to apply to the search.
57
61
  */
58
- filters?: SearchFiltersInput;
62
+ filters: SearchFiltersInput;
59
63
  /**
60
64
  * Specifies order options for the search.
61
65
  */
@@ -3,8 +3,9 @@ import { LoggerProvider } from "../../../logger/index.js";
3
3
  import { BWellQueryResult, BWellTransactionResult } from "../../../results/index.js";
4
4
  import { BaseManagerError } from "../../base/errors.js";
5
5
  import { NextQuestionRequest } from "../../base/questionnaire/next-question-request.js";
6
- import { NextQuestionResults, QuestionnaireManager, QuestionnaireResponsesResults } from "../../base/questionnaire/questionnaire-manager.js";
6
+ import { NextQuestionResults, QuestionnaireManager, QuestionnaireResponsesResults, SaveQuestionnaireResponseResults } from "../../base/questionnaire/questionnaire-manager.js";
7
7
  import { QuestionnaireResponsesRequest } from "../../base/questionnaire/questionnaire-responses-request.js";
8
+ import { SaveQuestionnaireResponseRequest } from "../../base/questionnaire/save-questionnaire-response-request.js";
8
9
  import { GraphQLManager } from "../graphql-manager/index.js";
9
10
  import type { GraphQLSdk } from "../graphql-sdk/index.js";
10
11
  export declare class GraphQLQuestionnaireManager extends GraphQLManager implements QuestionnaireManager {
@@ -18,6 +19,13 @@ export declare class GraphQLQuestionnaireManager extends GraphQLManager implemen
18
19
  * @returns Promise resolving to the next question results or an error
19
20
  */
20
21
  nextQuestion(request: NextQuestionRequest): Promise<BWellTransactionResult<NextQuestionResults, BaseManagerError>>;
22
+ /**
23
+ * Executes the saveQuestionnaireResponse mutation.
24
+ *
25
+ * @param request - The request containing the questionnaire response data to save
26
+ * @returns Promise resolving to the saved questionnaire response results or an error
27
+ */
28
+ saveQuestionnaireResponse(request: SaveQuestionnaireResponseRequest): Promise<BWellTransactionResult<SaveQuestionnaireResponseResults, BaseManagerError>>;
21
29
  /**
22
30
  * Retrieves questionnaire responses based on the provided request parameters.
23
31
  *
@@ -56,6 +56,30 @@ export class GraphQLQuestionnaireManager extends GraphQLManager {
56
56
  return BWellTransactionResult.success(result.data().nextQuestion);
57
57
  });
58
58
  }
59
+ /**
60
+ * Executes the saveQuestionnaireResponse mutation.
61
+ *
62
+ * @param request - The request containing the questionnaire response data to save
63
+ * @returns Promise resolving to the saved questionnaire response results or an error
64
+ */
65
+ saveQuestionnaireResponse(request) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const validationResult = request.validate();
68
+ if (validationResult.failure()) {
69
+ return validationResult.intoFailure();
70
+ }
71
+ __classPrivateFieldGet(this, _GraphQLQuestionnaireManager_logger, "f").verbose("calling saveQuestionnaireResponse mutation...");
72
+ const result = yield this.handleTransaction(__classPrivateFieldGet(this, _GraphQLQuestionnaireManager_sdk, "f").saveQuestionnaireResponse(request.data()));
73
+ __classPrivateFieldGet(this, _GraphQLQuestionnaireManager_logger, "f").verbose("saveQuestionnaireResponse mutation complete");
74
+ if (result.failure()) {
75
+ __classPrivateFieldGet(this, _GraphQLQuestionnaireManager_logger, "f").error("saveQuestionnaireResponse mutation failed", result.error());
76
+ return result.intoFailure();
77
+ }
78
+ __classPrivateFieldGet(this, _GraphQLQuestionnaireManager_logger, "f").info("successfully called saveQuestionnaireResponse mutation");
79
+ return BWellTransactionResult.success(result.data()
80
+ .saveQuestionnaireResponse);
81
+ });
82
+ }
59
83
  /**
60
84
  * Retrieves questionnaire responses based on the provided request parameters.
61
85
  *
@@ -1,4 +1,3 @@
1
- import { DataSetsEnum } from "../../../graphql/schema.js";
2
1
  /**
3
2
  * Factory to create GraphQL query variables for searching health resources.
4
3
  */
@@ -13,8 +12,7 @@ export class SearchHealthResourcesRequestFactory {
13
12
  const input = request.data();
14
13
  return {
15
14
  searchInput: {
16
- // Default search health resources client to NPPES and ConnectHub
17
- client: [{ dataSets: [DataSetsEnum.Nppes, DataSetsEnum.Connecthub] }],
15
+ client: input.client,
18
16
  filters: (_a = input.filters) !== null && _a !== void 0 ? _a : null,
19
17
  orderBy: (_b = input.orderBy) !== null && _b !== void 0 ? _b : null,
20
18
  paging: {