@awell-health/awell-extensions 2.1.150 → 2.1.151
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/extensions/metriport/actions/patient/fields.js +1 -1
- package/dist/extensions/metriport/actions/patient/fields.js.map +1 -1
- package/dist/extensions/metriport/actions/patient/validation.d.ts +5 -4
- package/dist/extensions/metriport/actions/patient/validation.js +26 -2
- package/dist/extensions/metriport/actions/patient/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ exports.createFields = {
|
|
|
35
35
|
genderAtBirth: {
|
|
36
36
|
id: 'genderAtBirth',
|
|
37
37
|
label: 'Gender at Birth',
|
|
38
|
-
description: `The Patient's gender at birth,
|
|
38
|
+
description: `The Patient's gender at birth. Accepts M, F, O or U as well as Male, Female, Other or Unknown`,
|
|
39
39
|
type: extensions_core_1.FieldType.STRING,
|
|
40
40
|
required: true,
|
|
41
41
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/fields.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,gDAA6C;AAEhC,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/fields.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,gDAA6C;AAEhC,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,+FAA+F;QAC5G,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,sEAAsE;QACnF,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,GAAG,gBAAO;IACV,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,2DAA2D;QACxE,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,+EAA+E;QAC5F,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;CAC8B,CAAA;AAEpB,QAAA,YAAY,GAAG;IAC1B,EAAE,EAAE;QACF,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,oBAAY;CACgB,CAAA;AAEpB,QAAA,SAAS,GAAG;IACvB,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,YAAY,GAAG;IAC1B,GAAG,iBAAS;IACZ,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CACF,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
+
export declare const genderAtBirthTransformSchema: z.ZodEffects<z.ZodEnum<["F", "M", "O", "U"]>, "M" | "F" | "O" | "U", unknown>;
|
|
2
3
|
export declare const patientCreateSchema: z.ZodObject<{
|
|
3
4
|
firstName: z.ZodString;
|
|
4
5
|
lastName: z.ZodString;
|
|
5
6
|
dob: z.ZodString;
|
|
6
|
-
genderAtBirth: z.ZodEnum<["F", "M", "O", "U"]>;
|
|
7
|
+
genderAtBirth: z.ZodEffects<z.ZodEnum<["F", "M", "O", "U"]>, "M" | "F" | "O" | "U", unknown>;
|
|
7
8
|
addressLine1: z.ZodString;
|
|
8
9
|
addressLine2: z.ZodOptional<z.ZodString>;
|
|
9
10
|
city: z.ZodString;
|
|
@@ -90,12 +91,12 @@ export declare const patientCreateSchema: z.ZodObject<{
|
|
|
90
91
|
city: string;
|
|
91
92
|
zip: string;
|
|
92
93
|
addressLine1: string;
|
|
93
|
-
genderAtBirth: "M" | "F" | "O" | "U";
|
|
94
94
|
email?: string | undefined;
|
|
95
95
|
phone?: string | undefined;
|
|
96
96
|
country?: "USA" | undefined;
|
|
97
97
|
state?: unknown;
|
|
98
98
|
addressLine2?: string | undefined;
|
|
99
|
+
genderAtBirth?: unknown;
|
|
99
100
|
driversLicenseValue?: string | undefined;
|
|
100
101
|
driversLicenseState?: string | undefined;
|
|
101
102
|
cohort?: string | undefined;
|
|
@@ -107,7 +108,7 @@ export declare const patientUpdateSchema: z.ZodObject<{
|
|
|
107
108
|
firstName: z.ZodString;
|
|
108
109
|
lastName: z.ZodString;
|
|
109
110
|
dob: z.ZodString;
|
|
110
|
-
genderAtBirth: z.ZodEnum<["F", "M", "O", "U"]>;
|
|
111
|
+
genderAtBirth: z.ZodEffects<z.ZodEnum<["F", "M", "O", "U"]>, "M" | "F" | "O" | "U", unknown>;
|
|
111
112
|
addressLine1: z.ZodString;
|
|
112
113
|
addressLine2: z.ZodOptional<z.ZodString>;
|
|
113
114
|
city: z.ZodString;
|
|
@@ -196,12 +197,12 @@ export declare const patientUpdateSchema: z.ZodObject<{
|
|
|
196
197
|
city: string;
|
|
197
198
|
zip: string;
|
|
198
199
|
addressLine1: string;
|
|
199
|
-
genderAtBirth: "M" | "F" | "O" | "U";
|
|
200
200
|
email?: string | undefined;
|
|
201
201
|
phone?: string | undefined;
|
|
202
202
|
country?: "USA" | undefined;
|
|
203
203
|
state?: unknown;
|
|
204
204
|
addressLine2?: string | undefined;
|
|
205
|
+
genderAtBirth?: unknown;
|
|
205
206
|
driversLicenseValue?: string | undefined;
|
|
206
207
|
driversLicenseState?: string | undefined;
|
|
207
208
|
cohort?: string | undefined;
|
|
@@ -33,15 +33,39 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.patientUpdateSchema = exports.patientCreateSchema = void 0;
|
|
36
|
+
exports.patientUpdateSchema = exports.patientCreateSchema = exports.genderAtBirthTransformSchema = void 0;
|
|
37
37
|
const z = __importStar(require("zod"));
|
|
38
38
|
const emailValidation_1 = require("../../../../src/utils/emailValidation");
|
|
39
39
|
const api_sdk_1 = require("@metriport/api-sdk");
|
|
40
|
+
/**
|
|
41
|
+
* Awell stores a patient's sex as `Male`, `Female` or `Unknown` while Metriport
|
|
42
|
+
* expects a single letter code (`M`, `F`, `O`, `U`). Anything already in
|
|
43
|
+
* Metriport's format is passed through untouched; anything we don't recognise
|
|
44
|
+
* is left alone so Metriport's schema rejects it, surfacing the bad patient
|
|
45
|
+
* data rather than quietly recording the sex as unknown.
|
|
46
|
+
*/
|
|
47
|
+
const genderAtBirthAliases = {
|
|
48
|
+
m: 'M',
|
|
49
|
+
male: 'M',
|
|
50
|
+
f: 'F',
|
|
51
|
+
female: 'F',
|
|
52
|
+
o: 'O',
|
|
53
|
+
other: 'O',
|
|
54
|
+
u: 'U',
|
|
55
|
+
unknown: 'U',
|
|
56
|
+
not_known: 'U',
|
|
57
|
+
};
|
|
58
|
+
exports.genderAtBirthTransformSchema = z.preprocess((value) => {
|
|
59
|
+
var _a;
|
|
60
|
+
if (typeof value !== 'string')
|
|
61
|
+
return value;
|
|
62
|
+
return (_a = genderAtBirthAliases[value.trim().toLowerCase()]) !== null && _a !== void 0 ? _a : value;
|
|
63
|
+
}, api_sdk_1.genderAtBirthSchema);
|
|
40
64
|
exports.patientCreateSchema = z.object({
|
|
41
65
|
firstName: z.string().min(1),
|
|
42
66
|
lastName: z.string().min(1),
|
|
43
67
|
dob: z.string().length(10),
|
|
44
|
-
genderAtBirth:
|
|
68
|
+
genderAtBirth: exports.genderAtBirthTransformSchema,
|
|
45
69
|
addressLine1: z.string().min(1),
|
|
46
70
|
addressLine2: z.string().optional(),
|
|
47
71
|
city: z.string().min(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2EAA2E;AAC3E,gDAG2B;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2EAA2E;AAC3E,gDAG2B;AAE3B;;;;;;GAMG;AACH,MAAM,oBAAoB,GAGtB;IACF,CAAC,EAAE,GAAG;IACN,IAAI,EAAE,GAAG;IACT,CAAC,EAAE,GAAG;IACN,MAAM,EAAE,GAAG;IACX,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,GAAG;IACV,CAAC,EAAE,GAAG;IACN,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;CACf,CAAA;AAEY,QAAA,4BAA4B,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,MAAA,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,mCAAI,KAAK,CAAA;AAClE,CAAC,EAAE,6BAAmB,CAAC,CAAA;AAEV,QAAA,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,aAAa,EAAE,oCAA4B;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,iCAAuB;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,qCAAmB;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAA;AAIW,QAAA,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtB,CAAC;KACD,KAAK,CAAC,2BAAmB,CAAC,CAAA"}
|