@icanbwell/bwell-sdk-ts 1.40.0 → 1.41.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.
@@ -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.40.0";
4
+ export declare const VERSION = "1.41.0";
@@ -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.40.0";
4
+ export const VERSION = "1.41.0";
@@ -204,12 +204,17 @@ export declare class MedicationStatementsRequest extends HealthDataRequest {
204
204
  */
205
205
  export declare class MedicationGroupsRequest extends PagedRequest {
206
206
  }
207
+ export type DiagnosticReportsRequestInput = PagedRequestInput & {
208
+ id?: string[];
209
+ lastUpdated?: SearchDate;
210
+ sort?: string[];
211
+ };
212
+ export declare class DiagnosticReportsRequest extends PagedRequest<DiagnosticReportsRequestInput> {
213
+ }
207
214
  /**
208
215
  * Request object for fetching Binary data.
209
216
  */
210
217
  export declare class BinaryRequest extends PagedRequest<BinaryRequestInput> {
211
218
  protected validator: BinaryRequestValidator;
212
219
  }
213
- export declare class DiagnosticReportsRequest extends HealthDataRequest {
214
- }
215
220
  export {};
@@ -254,6 +254,8 @@ export class MedicationStatementsRequest extends HealthDataRequest {
254
254
  */
255
255
  export class MedicationGroupsRequest extends PagedRequest {
256
256
  }
257
+ export class DiagnosticReportsRequest extends PagedRequest {
258
+ }
257
259
  /**
258
260
  * Request object for fetching Binary data.
259
261
  */
@@ -263,5 +265,3 @@ export class BinaryRequest extends PagedRequest {
263
265
  this.validator = new BinaryRequestValidator();
264
266
  }
265
267
  }
266
- export class DiagnosticReportsRequest extends HealthDataRequest {
267
- }
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ import * as Types from "../../../graphql/operations/types.js";
2
+ import { RequestFactory } from "../../../requests/index.js";
3
+ import * as health from "../../base/health-data/index.js";
4
+ export declare class GraphQLGetDiagnosticReportRequestFactory implements RequestFactory<health.DiagnosticReportsRequest, Types.GetDiagnosticReportsQueryVariables> {
5
+ create(request?: health.DiagnosticReportsRequest): Types.GetDiagnosticReportsQueryVariables;
6
+ }
@@ -0,0 +1,12 @@
1
+ export class GraphQLGetDiagnosticReportRequestFactory {
2
+ create(request) {
3
+ var _a;
4
+ const { id, page, pageSize, sort } = (_a = request === null || request === void 0 ? void 0 : request.data()) !== null && _a !== void 0 ? _a : {};
5
+ return {
6
+ id: id ? { values: id } : null,
7
+ pageSize: pageSize !== null && pageSize !== void 0 ? pageSize : null,
8
+ page: page !== null && page !== void 0 ? page : null,
9
+ sort: sort !== null && sort !== void 0 ? sort : null,
10
+ };
11
+ }
12
+ }
@@ -6,6 +6,7 @@ import * as health from "../../base/health-data/index.js";
6
6
  import { HealthManager } from "../../base/index.js";
7
7
  import { GraphQLManager } from "../graphql-manager/index.js";
8
8
  import type { GraphQLSdk } from "../graphql-sdk/index.js";
9
+ import { GraphQLGetDiagnosticReportRequestFactory } from "./graphql-diagnostic-reports-bwell-request-factory.js";
9
10
  import { GraphQLGetMedicationDispenseBWellResponseFactory } from "./graphql-get-medication-dispense-bwell-response-factory.js";
10
11
  import { GraphQLGetMedicationRequestBWellResponseFactory } from "./graphql-get-medication-request-bwell-response-factory.js";
11
12
  export type RenameKey<T, OldKey extends string, NewKey extends string> = T extends unknown[] ? RenameKeyInArray<T, OldKey, NewKey> : T extends object ? {
@@ -14,7 +15,7 @@ export type RenameKey<T, OldKey extends string, NewKey extends string> = T exten
14
15
  export type RenameKeyInArray<T extends unknown[], OldKey extends string, NewKey extends string> = Array<RenameKey<T[number], OldKey, NewKey>>;
15
16
  export declare class GraphQLHealthManager extends GraphQLManager implements HealthManager {
16
17
  #private;
17
- constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider, medicationRequestResponseFactory?: GraphQLGetMedicationRequestBWellResponseFactory, medicationDispenseResponseFactory?: GraphQLGetMedicationDispenseBWellResponseFactory);
18
+ constructor(sdk: GraphQLSdk, loggerProvider?: LoggerProvider, medicationRequestResponseFactory?: GraphQLGetMedicationRequestBWellResponseFactory, medicationDispenseResponseFactory?: GraphQLGetMedicationDispenseBWellResponseFactory, diagnosticReportRequestFactory?: GraphQLGetDiagnosticReportRequestFactory);
18
19
  getHealthSummary(): Promise<BWellQueryResult<health.HealthSummaryResults, BaseManagerError>>;
19
20
  getAllergyIntolerances(request?: health.AllergyIntolerancesRequest): Promise<BWellQueryResult<health.AllergyIntolerancesResults, ValidationError | BaseManagerError>>;
20
21
  getAllergyIntoleranceGroups(request?: health.AllergyIntoleranceGroupsRequest): Promise<BWellQueryResult<health.AllergyIntolerancesGroupsResults, ValidationError | BaseManagerError>>;
@@ -18,23 +18,26 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
18
18
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
19
19
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20
20
  };
21
- var _GraphQLHealthManager_sdk, _GraphQLHealthManager_logger, _GraphQLHealthManager_medicationRequestResponseFactory, _GraphQLHealthManager_medicationDispenseResponseFactory;
21
+ var _GraphQLHealthManager_sdk, _GraphQLHealthManager_logger, _GraphQLHealthManager_medicationRequestResponseFactory, _GraphQLHealthManager_medicationDispenseResponseFactory, _GraphQLHealthManager_diagnosticReportRequestFactory;
22
22
  import { ConsoleLoggerProvider, } from "../../../logger/index.js";
23
23
  import { BWellQueryResult } from "../../../results/index.js";
24
24
  import { GraphQLManager } from "../graphql-manager/index.js";
25
+ import { GraphQLGetDiagnosticReportRequestFactory } from "./graphql-diagnostic-reports-bwell-request-factory.js";
25
26
  import { GraphQLGetMedicationDispenseBWellResponseFactory } from "./graphql-get-medication-dispense-bwell-response-factory.js";
26
27
  import { GraphQLGetMedicationRequestBWellResponseFactory } from "./graphql-get-medication-request-bwell-response-factory.js";
27
28
  export class GraphQLHealthManager extends GraphQLManager {
28
- constructor(sdk, loggerProvider = new ConsoleLoggerProvider(), medicationRequestResponseFactory = new GraphQLGetMedicationRequestBWellResponseFactory(), medicationDispenseResponseFactory = new GraphQLGetMedicationDispenseBWellResponseFactory()) {
29
+ constructor(sdk, loggerProvider = new ConsoleLoggerProvider(), medicationRequestResponseFactory = new GraphQLGetMedicationRequestBWellResponseFactory(), medicationDispenseResponseFactory = new GraphQLGetMedicationDispenseBWellResponseFactory(), diagnosticReportRequestFactory = new GraphQLGetDiagnosticReportRequestFactory()) {
29
30
  super();
30
31
  _GraphQLHealthManager_sdk.set(this, void 0);
31
32
  _GraphQLHealthManager_logger.set(this, void 0);
32
33
  _GraphQLHealthManager_medicationRequestResponseFactory.set(this, void 0);
33
34
  _GraphQLHealthManager_medicationDispenseResponseFactory.set(this, void 0);
35
+ _GraphQLHealthManager_diagnosticReportRequestFactory.set(this, void 0);
34
36
  __classPrivateFieldSet(this, _GraphQLHealthManager_sdk, sdk, "f");
35
37
  __classPrivateFieldSet(this, _GraphQLHealthManager_logger, loggerProvider.getLogger("GraphQLHealthManager"), "f");
36
38
  __classPrivateFieldSet(this, _GraphQLHealthManager_medicationRequestResponseFactory, medicationRequestResponseFactory, "f");
37
39
  __classPrivateFieldSet(this, _GraphQLHealthManager_medicationDispenseResponseFactory, medicationDispenseResponseFactory, "f");
40
+ __classPrivateFieldSet(this, _GraphQLHealthManager_diagnosticReportRequestFactory, diagnosticReportRequestFactory, "f");
38
41
  }
39
42
  getHealthSummary() {
40
43
  return __awaiter(this, void 0, void 0, function* () {
@@ -127,7 +130,7 @@ export class GraphQLHealthManager extends GraphQLManager {
127
130
  return validationResult.toQueryResult();
128
131
  }
129
132
  __classPrivateFieldGet(this, _GraphQLHealthManager_logger, "f").verbose("calling getDiagnosticReports...");
130
- const result = yield this.handleQuery(__classPrivateFieldGet(this, _GraphQLHealthManager_sdk, "f").getDiagnosticReports());
133
+ const result = yield this.handleQuery(__classPrivateFieldGet(this, _GraphQLHealthManager_sdk, "f").getDiagnosticReports(__classPrivateFieldGet(this, _GraphQLHealthManager_diagnosticReportRequestFactory, "f").create(request)));
131
134
  __classPrivateFieldGet(this, _GraphQLHealthManager_logger, "f").verbose("getDiagnosticReports complete");
132
135
  if (result.hasError()) {
133
136
  __classPrivateFieldGet(this, _GraphQLHealthManager_logger, "f").error("getDiagnosticReports errors", result.error);
@@ -546,4 +549,4 @@ export class GraphQLHealthManager extends GraphQLManager {
546
549
  });
547
550
  }
548
551
  }
549
- _GraphQLHealthManager_sdk = new WeakMap(), _GraphQLHealthManager_logger = new WeakMap(), _GraphQLHealthManager_medicationRequestResponseFactory = new WeakMap(), _GraphQLHealthManager_medicationDispenseResponseFactory = new WeakMap();
552
+ _GraphQLHealthManager_sdk = new WeakMap(), _GraphQLHealthManager_logger = new WeakMap(), _GraphQLHealthManager_medicationRequestResponseFactory = new WeakMap(), _GraphQLHealthManager_medicationDispenseResponseFactory = new WeakMap(), _GraphQLHealthManager_diagnosticReportRequestFactory = new WeakMap();
@@ -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
  *