@rinse-dental/open-dental 2.4.7 → 2.4.9
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 +3 -1
- package/dist/transformerTypes/visitTypes.d.ts.map +1 -1
- package/dist/transformers/visit.d.ts.map +1 -1
- package/dist/transformers/visit.js +27 -2
- package/package.json +1 -1
- package/src/transformerTypes/visitTypes.ts +3 -1
- package/src/transformers/visit.ts +27 -3
|
@@ -55,9 +55,11 @@ export type Appendix = {
|
|
|
55
55
|
date_formats?: Date_Formats;
|
|
56
56
|
};
|
|
57
57
|
export type Date_Formats = {
|
|
58
|
-
|
|
58
|
+
date_MMM_D?: string;
|
|
59
|
+
month_M?: string;
|
|
59
60
|
month_MMM?: string;
|
|
60
61
|
month_MMMM?: string;
|
|
62
|
+
day_D?: string;
|
|
61
63
|
day_ddd?: string;
|
|
62
64
|
day_dddd?: string;
|
|
63
65
|
year_YY?: string;
|
|
@@ -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,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,
|
|
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;AAKvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,KAAK,
|
|
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,CAkD1D"}
|
|
@@ -20,6 +20,7 @@ function appointmentToVisit(apt) {
|
|
|
20
20
|
const duration = (apt.Pattern?.length || 0) * 5;
|
|
21
21
|
const location = 'NF6YVFAXyRVXGi5nItqV';
|
|
22
22
|
const display_ProvNum = apt.IsHygiene == 'true' ? apt.ProvHyg : apt.ProvNum;
|
|
23
|
+
const AptTypeNum = apt.AppointmentTypeNum == 0 ? updateAptTypeNum(apt.ProcDescript ?? '') : apt.AppointmentTypeNum;
|
|
23
24
|
return {
|
|
24
25
|
docRef: db.doc(`/patients/${apt.PatNum}/patientVisits/${apt.AptNum}`),
|
|
25
26
|
...apt,
|
|
@@ -31,15 +32,17 @@ function appointmentToVisit(apt) {
|
|
|
31
32
|
duration: duration,
|
|
32
33
|
ProvNum: display_ProvNum,
|
|
33
34
|
ProviderDocRef: display_ProvNum != 0 ? db.doc(`/providers/${display_ProvNum}`) : undefined,
|
|
34
|
-
VisitTypeDocRef:
|
|
35
|
+
VisitTypeDocRef: db.doc(`/lookups/lookup_definitions/lookup_visitType/${AptTypeNum}`),
|
|
35
36
|
OpDocRef: apt.Op != 0 ? db.doc(`/locations/${location}/locationOperatories/${apt.Op}`) : undefined,
|
|
36
37
|
date: moment_aptDateTime.format('YYYY-MM-DD'),
|
|
37
38
|
dateTime: moment_aptDateTime.format(),
|
|
38
39
|
firestoreTimestamp: firestoreTimestamp,
|
|
39
40
|
date_formats: {
|
|
40
|
-
|
|
41
|
+
date_MMM_D: moment_aptDateTime.format('MMM D'),
|
|
42
|
+
month_M: moment_aptDateTime.format('M'),
|
|
41
43
|
month_MMM: moment_aptDateTime.format('MMM'),
|
|
42
44
|
month_MMMM: moment_aptDateTime.format('MMMM'),
|
|
45
|
+
day_D: moment_aptDateTime.format('D'),
|
|
43
46
|
day_ddd: moment_aptDateTime.format('ddd'),
|
|
44
47
|
day_dddd: moment_aptDateTime.format('dddd'),
|
|
45
48
|
year_YY: moment_aptDateTime.format('YY'),
|
|
@@ -72,3 +75,25 @@ function normalizeStatus(status) {
|
|
|
72
75
|
return 'Scheduled';
|
|
73
76
|
return status;
|
|
74
77
|
}
|
|
78
|
+
function updateAptTypeNum(ProcDescript) {
|
|
79
|
+
let aptTypeNum = 11; // Default: Treatment
|
|
80
|
+
if (ProcDescript.includes('PeriodicX') && ProcDescript.includes('Free White')) {
|
|
81
|
+
aptTypeNum = 23;
|
|
82
|
+
}
|
|
83
|
+
else if (ProcDescript.includes('PeriodicX')) {
|
|
84
|
+
aptTypeNum = 12;
|
|
85
|
+
}
|
|
86
|
+
else if ((ProcDescript.includes('Prophy') || ProcDescript.includes('ProChild')) && ProcDescript.includes('Free White')) {
|
|
87
|
+
aptTypeNum = 13;
|
|
88
|
+
}
|
|
89
|
+
else if ((ProcDescript.includes('Prophy') || ProcDescript.includes('ProChild'))) {
|
|
90
|
+
aptTypeNum = 3;
|
|
91
|
+
}
|
|
92
|
+
else if (ProcDescript.includes('SPT') && ProcDescript.includes('Free White')) {
|
|
93
|
+
aptTypeNum = 24;
|
|
94
|
+
}
|
|
95
|
+
else if (ProcDescript.includes('SPT')) {
|
|
96
|
+
aptTypeNum = 14;
|
|
97
|
+
}
|
|
98
|
+
return aptTypeNum;
|
|
99
|
+
}
|
package/package.json
CHANGED
|
@@ -58,9 +58,11 @@ export interface Visit {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export type Date_Formats = {
|
|
61
|
-
|
|
61
|
+
date_MMM_D?: string; //
|
|
62
|
+
month_M?: string; //
|
|
62
63
|
month_MMM?: string; //
|
|
63
64
|
month_MMMM?: string;
|
|
65
|
+
day_D?: string; //
|
|
64
66
|
day_ddd?: string; //
|
|
65
67
|
day_dddd?: string; //
|
|
66
68
|
year_YY?: string; //
|
|
@@ -19,7 +19,8 @@ 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
|
+
const AptTypeNum = apt.AppointmentTypeNum == 0 ? updateAptTypeNum(apt.ProcDescript ?? '') : apt.AppointmentTypeNum;
|
|
23
|
+
|
|
23
24
|
return {
|
|
24
25
|
docRef: db.doc(`/patients/${apt.PatNum}/patientVisits/${apt.AptNum}`),
|
|
25
26
|
...apt,
|
|
@@ -31,15 +32,17 @@ export function appointmentToVisit(apt: Appointment): Visit {
|
|
|
31
32
|
duration: duration,
|
|
32
33
|
ProvNum: display_ProvNum,
|
|
33
34
|
ProviderDocRef: display_ProvNum != 0 ? db.doc(`/providers/${display_ProvNum}`) : undefined,
|
|
34
|
-
VisitTypeDocRef:
|
|
35
|
+
VisitTypeDocRef: db.doc(`/lookups/lookup_definitions/lookup_visitType/${AptTypeNum}`),
|
|
35
36
|
OpDocRef: apt.Op != 0 ? db.doc(`/locations/${location}/locationOperatories/${apt.Op}`) : undefined,
|
|
36
37
|
date: moment_aptDateTime.format('YYYY-MM-DD'),
|
|
37
38
|
dateTime: moment_aptDateTime.format(),
|
|
38
39
|
firestoreTimestamp: firestoreTimestamp,
|
|
39
40
|
date_formats: {
|
|
40
|
-
|
|
41
|
+
date_MMM_D: moment_aptDateTime.format('MMM D'),
|
|
42
|
+
month_M: moment_aptDateTime.format('M'),
|
|
41
43
|
month_MMM: moment_aptDateTime.format('MMM'),
|
|
42
44
|
month_MMMM: moment_aptDateTime.format('MMMM'),
|
|
45
|
+
day_D: moment_aptDateTime.format('D'),
|
|
43
46
|
day_ddd: moment_aptDateTime.format('ddd'),
|
|
44
47
|
day_dddd: moment_aptDateTime.format('dddd'),
|
|
45
48
|
year_YY: moment_aptDateTime.format('YY'),
|
|
@@ -70,4 +73,25 @@ function normalizeStatus(status: string): string {
|
|
|
70
73
|
if (['UnschedList', 'Broken'].includes(status)) return 'Canceled';
|
|
71
74
|
if (['Scheduled', 'ASAP'].includes(status)) return 'Scheduled';
|
|
72
75
|
return status;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function updateAptTypeNum(ProcDescript: string): number {
|
|
79
|
+
|
|
80
|
+
let aptTypeNum = 11 // Default: Treatment
|
|
81
|
+
|
|
82
|
+
if (ProcDescript.includes('PeriodicX') && ProcDescript.includes('Free White')) {
|
|
83
|
+
aptTypeNum = 23;
|
|
84
|
+
} else if (ProcDescript.includes('PeriodicX')) {
|
|
85
|
+
aptTypeNum = 12;
|
|
86
|
+
} else if ((ProcDescript.includes('Prophy') || ProcDescript.includes('ProChild')) && ProcDescript.includes('Free White')) {
|
|
87
|
+
aptTypeNum = 13;
|
|
88
|
+
} else if ((ProcDescript.includes('Prophy') || ProcDescript.includes('ProChild'))) {
|
|
89
|
+
aptTypeNum = 3;
|
|
90
|
+
} else if (ProcDescript.includes('SPT') && ProcDescript.includes('Free White')) {
|
|
91
|
+
aptTypeNum = 24;
|
|
92
|
+
} else if (ProcDescript.includes('SPT')) {
|
|
93
|
+
aptTypeNum = 14;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return aptTypeNum;
|
|
73
97
|
}
|