@rinse-dental/open-dental 2.4.5 → 2.4.7
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/transformerTypes/visitTypes.d.ts +1 -1
- package/dist/transformerTypes/visitTypes.d.ts.map +1 -1
- package/dist/transformers/visit.d.ts.map +1 -1
- package/dist/transformers/visit.js +10 -2
- package/package.json +1 -1
- package/src/transformerTypes/visitTypes.ts +1 -1
- package/src/transformers/visit.ts +12 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitTypes.d.ts","sourceRoot":"","sources":["../../src/transformerTypes/visitTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,KAAK;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,
|
|
1
|
+
{"version":3,"file":"visitTypes.d.ts","sourceRoot":"","sources":["../../src/transformerTypes/visitTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit.d.ts","sourceRoot":"","sources":["../../src/transformers/visit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"visit.d.ts","sourceRoot":"","sources":["../../src/transformers/visit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAKvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,KAAK,CA+C1D"}
|
|
@@ -7,10 +7,10 @@ exports.appointmentToVisit = appointmentToVisit;
|
|
|
7
7
|
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
8
8
|
const firebase_admin_1 = __importDefault(require("firebase-admin"));
|
|
9
9
|
const firestore_1 = require("firebase-admin/firestore");
|
|
10
|
-
const db = firebase_admin_1.default.firestore();
|
|
11
10
|
function appointmentToVisit(apt) {
|
|
12
|
-
const
|
|
11
|
+
const db = firebase_admin_1.default.firestore();
|
|
13
12
|
let firestoreTimestamp;
|
|
13
|
+
const moment_aptDateTime = moment_timezone_1.default.tz(apt.AptDateTime, 'YYYY-MM-DD HH:mm:ss', 'America/Los_Angeles');
|
|
14
14
|
if (moment_aptDateTime.isValid()) {
|
|
15
15
|
firestoreTimestamp = firestore_1.Timestamp.fromDate(moment_aptDateTime.toDate());
|
|
16
16
|
}
|
|
@@ -27,6 +27,7 @@ function appointmentToVisit(apt) {
|
|
|
27
27
|
IsHygiene: apt.IsHygiene == 'true',
|
|
28
28
|
IsNewPatient: apt.IsNewPatient == 'true',
|
|
29
29
|
appendix: {
|
|
30
|
+
status: normalizeStatus(apt.AptStatus),
|
|
30
31
|
duration: duration,
|
|
31
32
|
ProvNum: display_ProvNum,
|
|
32
33
|
ProviderDocRef: display_ProvNum != 0 ? db.doc(`/providers/${display_ProvNum}`) : undefined,
|
|
@@ -64,3 +65,10 @@ function formatMinutes(minutes) {
|
|
|
64
65
|
parts.push(`${mins} minute${mins > 1 ? 's' : ''}`);
|
|
65
66
|
return parts.join(' and ');
|
|
66
67
|
}
|
|
68
|
+
function normalizeStatus(status) {
|
|
69
|
+
if (['UnschedList', 'Broken'].includes(status))
|
|
70
|
+
return 'Canceled';
|
|
71
|
+
if (['Scheduled', 'ASAP'].includes(status))
|
|
72
|
+
return 'Scheduled';
|
|
73
|
+
return status;
|
|
74
|
+
}
|
package/package.json
CHANGED
|
@@ -45,8 +45,8 @@ export interface Visit {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export type Appendix = {
|
|
48
|
-
duration?: number; // pattern * 5
|
|
49
48
|
status?: string; //
|
|
49
|
+
duration?: number; // pattern * 5
|
|
50
50
|
ProvNum?: number; // ProvNum or ProvHyg depending on IsHygiene
|
|
51
51
|
ProviderDocRef?: DocumentReference; //
|
|
52
52
|
VisitTypeDocRef?: DocumentReference; //
|
|
@@ -4,12 +4,12 @@ import moment from 'moment-timezone';
|
|
|
4
4
|
import admin from 'firebase-admin';
|
|
5
5
|
import { Timestamp } from 'firebase-admin/firestore';
|
|
6
6
|
|
|
7
|
-
const db = admin.firestore();
|
|
8
|
-
|
|
9
7
|
export function appointmentToVisit(apt: Appointment): Visit {
|
|
10
|
-
const
|
|
11
|
-
|
|
8
|
+
const db = admin.firestore();
|
|
12
9
|
let firestoreTimestamp: Timestamp | undefined;
|
|
10
|
+
|
|
11
|
+
const moment_aptDateTime = moment.tz(apt.AptDateTime, 'YYYY-MM-DD HH:mm:ss', 'America/Los_Angeles');
|
|
12
|
+
|
|
13
13
|
if (moment_aptDateTime.isValid()) {
|
|
14
14
|
firestoreTimestamp = Timestamp.fromDate(moment_aptDateTime.toDate());
|
|
15
15
|
} else {
|
|
@@ -19,7 +19,7 @@ export function appointmentToVisit(apt: Appointment): Visit {
|
|
|
19
19
|
const duration = (apt.Pattern?.length || 0) * 5;
|
|
20
20
|
const location = 'NF6YVFAXyRVXGi5nItqV';
|
|
21
21
|
const display_ProvNum = apt.IsHygiene == 'true' ? apt.ProvHyg : apt.ProvNum;
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
return {
|
|
24
24
|
docRef: db.doc(`/patients/${apt.PatNum}/patientVisits/${apt.AptNum}`),
|
|
25
25
|
...apt,
|
|
@@ -27,6 +27,7 @@ export function appointmentToVisit(apt: Appointment): Visit {
|
|
|
27
27
|
IsHygiene: apt.IsHygiene == 'true',
|
|
28
28
|
IsNewPatient: apt.IsNewPatient == 'true',
|
|
29
29
|
appendix: {
|
|
30
|
+
status: normalizeStatus(apt.AptStatus),
|
|
30
31
|
duration: duration,
|
|
31
32
|
ProvNum: display_ProvNum,
|
|
32
33
|
ProviderDocRef: display_ProvNum != 0 ? db.doc(`/providers/${display_ProvNum}`) : undefined,
|
|
@@ -63,4 +64,10 @@ function formatMinutes(minutes: number): string {
|
|
|
63
64
|
if (mins > 0) parts.push(`${mins} minute${mins > 1 ? 's' : ''}`);
|
|
64
65
|
|
|
65
66
|
return parts.join(' and ');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function normalizeStatus(status: string): string {
|
|
70
|
+
if (['UnschedList', 'Broken'].includes(status)) return 'Canceled';
|
|
71
|
+
if (['Scheduled', 'ASAP'].includes(status)) return 'Scheduled';
|
|
72
|
+
return status;
|
|
66
73
|
}
|