@awell-health/awell-extensions 2.0.55 → 2.0.57

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,14 +15,19 @@ exports.addIdentifierToPatient = {
15
15
  previewable: false,
16
16
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h;
18
- const { fields: { system, value }, } = (0, extensions_core_1.validate)({
18
+ // Validate and extract the `system` and `value` fields and `currentPatientId` from the payload
19
+ const { fields: { system, value }, patient: { id: currentPatientId }, } = (0, extensions_core_1.validate)({
19
20
  schema: zod_1.z.object({
20
21
  fields: config_1.FieldsValidationSchema,
22
+ patient: config_1.PatientValidationSchema,
21
23
  }),
22
24
  payload,
23
25
  });
24
- const currentPatient = payload.patient;
25
26
  const sdk = await helpers.awellSdk();
27
+ /**
28
+ * Check if a patient with the same identifier system and value already exists.
29
+ * This is necessary because identifier system-value pairs must be unique across all patients.
30
+ */
26
31
  const { patientByIdentifier: { patient: existingPatient }, } = await sdk.orchestration.query({
27
32
  patientByIdentifier: {
28
33
  __args: { system, value },
@@ -32,7 +37,11 @@ exports.addIdentifierToPatient = {
32
37
  },
33
38
  });
34
39
  const patientExists = !(0, lodash_1.isEmpty)(existingPatient === null || existingPatient === void 0 ? void 0 : existingPatient.id);
35
- const patientLookUpIsCurrentPatient = (existingPatient === null || existingPatient === void 0 ? void 0 : existingPatient.id) === currentPatient.id;
40
+ const patientLookUpIsCurrentPatient = (existingPatient === null || existingPatient === void 0 ? void 0 : existingPatient.id) === currentPatientId;
41
+ /**
42
+ * If a different patient already has the provided identifier, we cannot assign this identifier
43
+ * to the current patient, as each identifier system-value pair must be unique.
44
+ */
36
45
  if (patientExists && !patientLookUpIsCurrentPatient) {
37
46
  await onError({
38
47
  events: [
@@ -46,11 +55,15 @@ exports.addIdentifierToPatient = {
46
55
  });
47
56
  return;
48
57
  }
49
- // Fetch from the API, had inconsitent results with using patient.payload (e.g. missing identifiers)
58
+ /**
59
+ * Although TypeScript indicates that `payload.patient.profile.identifier` should be accessible within `onEvent`,
60
+ * tests in the Dev environment show that `identifier` data is not reliably available on the extension server.
61
+ * To ensure accurate data, we directly query the API to retrieve the patient's current identifiers.
62
+ */
50
63
  const currentPatientData = await sdk.orchestration.query({
51
64
  patient: {
52
65
  __args: {
53
- id: currentPatient.id,
66
+ id: currentPatientId,
54
67
  },
55
68
  patient: {
56
69
  profile: {
@@ -62,11 +75,14 @@ exports.addIdentifierToPatient = {
62
75
  },
63
76
  },
64
77
  });
65
- // Filter identifiers, excluding any with the current system
78
+ // Retrieve existing identifiers, excluding any with the specified system.
66
79
  const existingIdentifiers = (_d = (_c = (_b = (_a = currentPatientData === null || currentPatientData === void 0 ? void 0 : currentPatientData.patient) === null || _a === void 0 ? void 0 : _a.patient) === null || _b === void 0 ? void 0 : _b.profile) === null || _c === void 0 ? void 0 : _c.identifier) !== null && _d !== void 0 ? _d : [];
67
- const otherIdentifiers = existingIdentifiers.filter((id) => id.system !== system);
80
+ const existingIdentifierExcludingTheOneToUpdate = existingIdentifiers.filter((id) => id.system !== system);
68
81
  const previousIdentifier = existingIdentifiers.find((id) => id.system === system);
69
- const isUpdatingIdentifier = Boolean(previousIdentifier);
82
+ const isUpdatingIdentifier = !(0, lodash_1.isEmpty)(previousIdentifier);
83
+ /**
84
+ * If the patient already has this identifier system with the same value, we skip the update to avoid redundancy.
85
+ */
70
86
  if (isUpdatingIdentifier && (previousIdentifier === null || previousIdentifier === void 0 ? void 0 : previousIdentifier.value) === value) {
71
87
  await onComplete({
72
88
  events: [
@@ -80,13 +96,20 @@ exports.addIdentifierToPatient = {
80
96
  });
81
97
  return;
82
98
  }
83
- const newIdentifiers = [...otherIdentifiers, { system, value }];
84
- // Perform update or add the new identifier
99
+ // Prepare the updated list of identifiers, including the new or updated identifier.
100
+ const newIdentifiers = [
101
+ ...existingIdentifierExcludingTheOneToUpdate,
102
+ { system, value },
103
+ ];
104
+ /**
105
+ * Perform the update to add or update the identifier on the patient's profile.
106
+ * We retrieve the updated identifiers from the API response to ensure we log the final state.
107
+ */
85
108
  const result = await sdk.orchestration.mutation({
86
109
  updatePatient: {
87
110
  __args: {
88
111
  input: {
89
- patient_id: currentPatient.id,
112
+ patient_id: currentPatientId,
90
113
  profile: {
91
114
  identifier: newIdentifiers,
92
115
  },
@@ -104,6 +127,7 @@ exports.addIdentifierToPatient = {
104
127
  },
105
128
  });
106
129
  const updatedIdentifiers = (_h = (_g = (_f = (_e = result === null || result === void 0 ? void 0 : result.updatePatient) === null || _e === void 0 ? void 0 : _e.patient) === null || _f === void 0 ? void 0 : _f.profile) === null || _g === void 0 ? void 0 : _g.identifier) !== null && _h !== void 0 ? _h : [];
130
+ // Log the result, including the old and new lists of identifiers.
107
131
  await onComplete({
108
132
  events: [
109
133
  {
@@ -1 +1 @@
1
- {"version":3,"file":"addIdentifierToPatient.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/addIdentifierToPatient/addIdentifierToPatient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addIdentifierToPatient.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/addIdentifierToPatient/addIdentifierToPatient.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,24 @@ export declare const fields: {
15
15
  type: FieldType.STRING;
16
16
  required: true;
17
17
  };
18
+ freezeResponse: {
19
+ id: string;
20
+ label: string;
21
+ description: string;
22
+ type: FieldType.BOOLEAN;
23
+ required: false;
24
+ };
18
25
  };
19
26
  export declare const FieldsValidationSchema: z.ZodObject<{
20
27
  healthiePatientId: z.ZodString;
21
28
  healthieFormId: z.ZodString;
29
+ freezeResponse: z.ZodDefault<z.ZodBoolean>;
22
30
  }, "strip", z.ZodTypeAny, {
23
31
  healthiePatientId: string;
24
32
  healthieFormId: string;
33
+ freezeResponse: boolean;
25
34
  }, {
26
35
  healthiePatientId: string;
27
36
  healthieFormId: string;
37
+ freezeResponse?: boolean | undefined;
28
38
  }>;
@@ -21,9 +21,17 @@ exports.fields = {
21
21
  type: extensions_core_1.FieldType.STRING,
22
22
  required: true,
23
23
  },
24
+ freezeResponse: {
25
+ id: 'freezeResponse',
26
+ label: 'Freeze Response',
27
+ description: 'Indicates whether the form response should be frozen in Healthie.',
28
+ type: extensions_core_1.FieldType.BOOLEAN,
29
+ required: false,
30
+ },
24
31
  };
25
32
  exports.FieldsValidationSchema = zod_1.default.object({
26
33
  healthiePatientId: zod_1.default.string().min(1),
27
34
  healthieFormId: zod_1.default.string().min(1),
35
+ freezeResponse: zod_1.default.boolean().default(false),
28
36
  });
29
37
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/healthie/actions/dataExchange/pushFormResponseToHealthie/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACgB,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/healthie/actions/dataExchange/pushFormResponseToHealthie/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,mEAAmE;QACrE,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,cAAc,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACO,CAAC,CAAA"}
@@ -46,12 +46,15 @@ exports.pushFormResponseToHealthie = {
46
46
  awellFormDefinition: formDefinition,
47
47
  awellFormResponse: formResponse,
48
48
  });
49
+ // indicates whether to make form values editable in Healthie
50
+ const frozen = (0, lodash_1.defaultTo)(fields.freezeResponse, false);
49
51
  try {
50
52
  const res = await healthieSdk.client.mutation({
51
53
  createFormAnswerGroup: {
52
54
  __args: {
53
55
  input: {
54
56
  finished: true,
57
+ frozen,
55
58
  custom_module_form_id: fields.healthieFormId,
56
59
  user_id: fields.healthiePatientId,
57
60
  form_answers: healthieFormAnswerInputs.map((input) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"pushFormResponseToHealthie.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/dataExchange/pushFormResponseToHealthie/pushFormResponseToHealthie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pushFormResponseToHealthie.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/actions/dataExchange/pushFormResponseToHealthie/pushFormResponseToHealthie.ts"],"names":[],"mappings":"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"}
@@ -1100,6 +1100,13 @@ export declare const actions: {
1100
1100
  type: import("@awell-health/extensions-core").FieldType.STRING;
1101
1101
  required: true;
1102
1102
  };
1103
+ freezeResponse: {
1104
+ id: string;
1105
+ label: string;
1106
+ description: string;
1107
+ type: import("@awell-health/extensions-core").FieldType.BOOLEAN;
1108
+ required: false;
1109
+ };
1103
1110
  }, {
1104
1111
  apiUrl: {
1105
1112
  key: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.55",
3
+ "version": "2.0.57",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {