@rinse-dental/open-dental 1.7.1 → 2.0.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.
Files changed (46) hide show
  1. package/.vscode/settings.json +0 -3
  2. package/dist/api/appointments.d.ts +2 -1
  3. package/dist/api/appointments.d.ts.map +1 -1
  4. package/dist/api/appointments.js +11 -9
  5. package/dist/api/discountPlanSubs.d.ts +1 -1
  6. package/dist/api/discountPlanSubs.d.ts.map +1 -1
  7. package/dist/api/discountPlanSubs.js +1 -1
  8. package/dist/api/discountPlans.d.ts +62 -0
  9. package/dist/api/discountPlans.d.ts.map +1 -0
  10. package/dist/api/discountPlans.js +113 -0
  11. package/dist/api/fees.d.ts +18 -0
  12. package/dist/api/fees.d.ts.map +1 -0
  13. package/dist/api/fees.js +29 -0
  14. package/dist/api/index.d.ts +3 -0
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/index.js +7 -1
  17. package/dist/api/treatplanattaches.d.ts +34 -0
  18. package/dist/api/treatplanattaches.d.ts.map +1 -0
  19. package/dist/api/treatplanattaches.js +52 -0
  20. package/dist/openDental.d.ts +15 -0
  21. package/dist/openDental.d.ts.map +1 -1
  22. package/dist/openDental.js +30 -0
  23. package/dist/types/DiscountPlanTypes.d.ts +67 -0
  24. package/dist/types/DiscountPlanTypes.d.ts.map +1 -0
  25. package/dist/types/DiscountPlanTypes.js +2 -0
  26. package/dist/types/appointmentTypes.d.ts +1 -0
  27. package/dist/types/appointmentTypes.d.ts.map +1 -1
  28. package/dist/types/feeTypes.d.ts +46 -0
  29. package/dist/types/feeTypes.d.ts.map +1 -0
  30. package/dist/types/feeTypes.js +2 -0
  31. package/dist/types/treatPlanAttachTypes.d.ts +37 -0
  32. package/dist/types/treatPlanAttachTypes.d.ts.map +1 -0
  33. package/dist/types/treatPlanAttachTypes.js +2 -0
  34. package/package.json +3 -3
  35. package/release.sh +4 -2
  36. package/src/api/appointments.ts +11 -8
  37. package/src/api/discountPlanSubs.ts +1 -2
  38. package/src/api/discountPlans.ts +159 -0
  39. package/src/api/fees.ts +43 -0
  40. package/src/api/index.ts +3 -0
  41. package/src/api/treatplanattaches.ts +67 -0
  42. package/src/openDental.ts +33 -0
  43. package/src/types/DiscountPlanTypes.ts +70 -0
  44. package/src/types/appointmentTypes.ts +1 -0
  45. package/src/types/feeTypes.ts +49 -0
  46. package/src/types/treatPlanAttachTypes.ts +39 -0
@@ -13,12 +13,14 @@ const patients_1 = __importDefault(require("./api/patients"));
13
13
  const procedureLog_1 = __importDefault(require("./api/procedureLog"));
14
14
  const recalls_1 = __importDefault(require("./api/recalls"));
15
15
  const treatplans_1 = __importDefault(require("./api/treatplans"));
16
+ const treatplanattaches_1 = __importDefault(require("./api/treatplanattaches"));
16
17
  const schedules_1 = __importDefault(require("./api/schedules"));
17
18
  const providers_1 = __importDefault(require("./api/providers"));
18
19
  const operatories_1 = __importDefault(require("./api/operatories"));
19
20
  const payments_1 = __importDefault(require("./api/payments"));
20
21
  const paySplits_1 = __importDefault(require("./api/paySplits"));
21
22
  const definitions_1 = __importDefault(require("./api/definitions"));
23
+ const discountPlans_1 = __importDefault(require("./api/discountPlans"));
22
24
  const discountPlanSubs_1 = __importDefault(require("./api/discountPlanSubs"));
23
25
  const familyModules_1 = __importDefault(require("./api/familyModules"));
24
26
  const insSubs_1 = __importDefault(require("./api/insSubs"));
@@ -31,6 +33,7 @@ const benefits_1 = __importDefault(require("./api/benefits"));
31
33
  const claimProcs_1 = __importDefault(require("./api/claimProcs"));
32
34
  const adjustments_1 = __importDefault(require("./api/adjustments"));
33
35
  const procedureCodes_1 = __importDefault(require("./api/procedureCodes"));
36
+ const fees_1 = __importDefault(require("./api/fees"));
34
37
  class OpenDental {
35
38
  static httpClient;
36
39
  /**
@@ -116,6 +119,15 @@ class OpenDental {
116
119
  }
117
120
  return new treatplans_1.default(this.httpClient);
118
121
  }
122
+ /**
123
+ * Create a new instance of the TreatmentPlanAttaches API.
124
+ */
125
+ static TreatmentPlanAttaches() {
126
+ if (!this.httpClient) {
127
+ throw new Error("OpenDental not initialized. Call OpenDental.initialize() first.");
128
+ }
129
+ return new treatplanattaches_1.default(this.httpClient);
130
+ }
119
131
  /**
120
132
  * Create a new instance of the Schedules API.
121
133
  */
@@ -161,6 +173,15 @@ class OpenDental {
161
173
  }
162
174
  return new definitions_1.default(this.httpClient);
163
175
  }
176
+ /**
177
+ * Create a new instance of the DiscountPlans API.
178
+ */
179
+ static DiscountPlans() {
180
+ if (!this.httpClient) {
181
+ throw new Error("OpenDental not initialized. Call OpenDental.initialize() first.");
182
+ }
183
+ return new discountPlans_1.default(this.httpClient);
184
+ }
164
185
  /**
165
186
  * Create a new instance of the DiscountPlanSubs API.
166
187
  */
@@ -278,5 +299,14 @@ class OpenDental {
278
299
  }
279
300
  return new paySplits_1.default(this.httpClient);
280
301
  }
302
+ /**
303
+ * Create a new instance of the Fees API.
304
+ */
305
+ static Fees() {
306
+ if (!this.httpClient) {
307
+ throw new Error("OpenDental not initialized. Call OpenDental.initialize() first.");
308
+ }
309
+ return new fees_1.default(this.httpClient);
310
+ }
281
311
  }
282
312
  exports.OpenDental = OpenDental;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Represents a discount plan in the Open Dental system.
3
+ * @see https://www.opendental.com/site/apidiscountplans.html
4
+ */
5
+ export interface DiscountPlan {
6
+ DiscountPlanNum?: number;
7
+ Description?: string;
8
+ FeeSchedNum?: number;
9
+ DefNum?: number;
10
+ IsHidden?: 'true' | 'false';
11
+ PlanNote?: string;
12
+ ExamFreqLimit?: number;
13
+ XrayFreqLimit?: number;
14
+ ProphyFreqLimit?: number;
15
+ FluorideFreqLimit?: number;
16
+ PerioFreqLimit?: number;
17
+ LimitedExamFreqLimit?: number;
18
+ PAFreqLimit?: number;
19
+ AnnualMax?: number;
20
+ }
21
+ /**
22
+ * Parameters for GET discount plans.
23
+ * @see https://www.opendental.com/site/apidiscountplans.html
24
+ */
25
+ export interface GetDiscountPlansParams {
26
+ Offset?: number;
27
+ }
28
+ /**
29
+ * Parameters for creating a discount plan.
30
+ * @see https://www.opendental.com/site/apidiscountplans.html
31
+ */
32
+ export interface CreateDiscountPlanParams {
33
+ Description: string;
34
+ FeeSchedNum: number;
35
+ DefNum: number;
36
+ IsHidden?: 'true' | 'false';
37
+ PlanNote?: string;
38
+ ExamFreqLimit?: number;
39
+ XrayFreqLimit?: number;
40
+ ProphyFreqLimit?: number;
41
+ FluorideFreqLimit?: number;
42
+ PerioFreqLimit?: number;
43
+ LimitedExamFreqLimit?: number;
44
+ PAFreqLimit?: number;
45
+ AnnualMax?: number;
46
+ }
47
+ /**
48
+ * Parameters for updating a discount plan.
49
+ * @see https://www.opendental.com/site/apidiscountplans.html
50
+ */
51
+ export interface UpdateDiscountPlanParams {
52
+ DiscountPlanNum: number;
53
+ Description?: string;
54
+ FeeSchedNum?: number;
55
+ DefNum?: number;
56
+ IsHidden?: 'true' | 'false';
57
+ PlanNote?: string;
58
+ ExamFreqLimit?: number;
59
+ XrayFreqLimit?: number;
60
+ ProphyFreqLimit?: number;
61
+ FluorideFreqLimit?: number;
62
+ PerioFreqLimit?: number;
63
+ LimitedExamFreqLimit?: number;
64
+ PAFreqLimit?: number;
65
+ AnnualMax?: number;
66
+ }
67
+ //# sourceMappingURL=DiscountPlanTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscountPlanTypes.d.ts","sourceRoot":"","sources":["../../src/types/DiscountPlanTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -53,6 +53,7 @@ export interface GetAppointmentParams {
53
53
  dateEnd?: string;
54
54
  ClinicNum?: number;
55
55
  DateTStamp?: string;
56
+ AppointmentTypeNum?: number;
56
57
  Offset?: number;
57
58
  }
58
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"appointmentTypes.d.ts","sourceRoot":"","sources":["../../src/types/appointmentTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appointmentTypes.d.ts","sourceRoot":"","sources":["../../src/types/appointmentTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Represents a fees in Open Dental
3
+ * @see https://www.opendental.com/site/apifees.html
4
+ */
5
+ export interface Fee {
6
+ FeeNum?: number;
7
+ Amount?: number;
8
+ FeeSched?: number;
9
+ CodeNum?: number;
10
+ ClinicNum?: number;
11
+ ProvNum?: number;
12
+ SecUserNumEntry?: number;
13
+ SecDateEntry?: string;
14
+ SecDateTEdit?: string;
15
+ }
16
+ /**
17
+ * Parameters for GET Fees.
18
+ * @see https://www.opendental.com/site/apifees.html
19
+ */
20
+ export interface GetFeesParams {
21
+ FeeSched?: number;
22
+ CodeNum?: number;
23
+ ClinicNum?: number;
24
+ ProvNum?: number;
25
+ Offset?: number;
26
+ }
27
+ /**
28
+ * Parameters for Create Fee.
29
+ * @see https://www.opendental.com/site/apifees.html
30
+ */
31
+ export interface CreateFeeParams {
32
+ Amount: number;
33
+ FeeSched: number;
34
+ CodeNum: number;
35
+ ClinicNum?: number;
36
+ ProvNum?: number;
37
+ }
38
+ /**
39
+ * Parameters for Update Fee.
40
+ * @see https://www.opendental.com/site/apifees.html
41
+ */
42
+ export interface UpdateFeeParams {
43
+ FeeSched: number;
44
+ Amount?: number;
45
+ }
46
+ //# sourceMappingURL=feeTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feeTypes.d.ts","sourceRoot":"","sources":["../../src/types/feeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,37 @@
1
+ /**
2
+ * TreatPlanAttaches object.
3
+ * @see https://www.opendental.com/site/apitreatplanattaches.html
4
+ */
5
+ export interface TreatPlanAttach {
6
+ TreatPlanAttachNum?: number;
7
+ TreatPlanNum?: number;
8
+ ProcNum?: number;
9
+ Priority?: number;
10
+ priority?: string;
11
+ }
12
+ /**
13
+ * Get TreatPlanAttaches Params. Returns TreatPlanAttaches object
14
+ * @see https://www.opendental.com/site/apitreatplanattaches.html
15
+ */
16
+ export interface GetTreatPlanAttachesParams {
17
+ TreatPlanNum?: number;
18
+ Offset?: number;
19
+ }
20
+ /**
21
+ * POST TreatPlanAttaches Params. Returns TreatPlanAttaches object
22
+ * @see https://www.opendental.com/site/apitreatplanattaches.html
23
+ */
24
+ export interface CreateTreatPlanAttachesParams {
25
+ TreatPlanNum: number;
26
+ ProcNum: number;
27
+ Priority?: number;
28
+ }
29
+ /**
30
+ * PUT TreatPlanAttaches Params. Returns TreatPlanAttaches object.
31
+ * @see https://www.opendental.com/site/apitreatplanattaches.html
32
+ */
33
+ export interface UpdateTreatPlanAttachesParams {
34
+ TreatPlanAttachNum: number;
35
+ Priority: number;
36
+ }
37
+ //# sourceMappingURL=treatPlanAttachTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treatPlanAttachTypes.d.ts","sourceRoot":"","sources":["../../src/types/treatPlanAttachTypes.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,MAAM,WAAW,eAAe;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;EAGE;AACF,MAAM,WAAW,6BAA6B;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rinse-dental/open-dental",
3
- "version": "1.7.1",
3
+ "version": "2.0.0",
4
4
  "description": "A TypeScript library for easily accessing Open Dental APIs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,8 +15,8 @@
15
15
  "url": "git+https://github.com/getrinsed/open-dental.git"
16
16
  },
17
17
  "dependencies": {
18
- "axios": "^1.8.4",
19
- "moment-timezone": "^0.5.48"
18
+ "axios": "^1.10.0",
19
+ "moment-timezone": "^0.6.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/jest": "^29.5.14",
package/release.sh CHANGED
@@ -40,7 +40,9 @@ git push origin "$NEW_TAG"
40
40
  gh release create "$NEW_TAG" --title "Release $NEW_TAG" --notes "$COMMIT_MSG"
41
41
 
42
42
 
43
- #example ./release.sh "added adjustments to index" patch
43
+ #example ./release.sh "updated axios error return" patch
44
44
  #example ./release.sh "Added procedure codes" minor
45
45
  #example ./release.sh "Some commit message" major
46
- #npm token: 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
46
+ #npm token: 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
47
+
48
+ #./release.sh "corrected appointment endpoints" minor
@@ -47,6 +47,7 @@ export default class Appointments {
47
47
  * @param {string} [params.dateEnd] - End date for date range in "yyyy-MM-dd" format.
48
48
  * @param {number} [params.ClinicNum] - Filter by clinic number.
49
49
  * @param {string} [params.DateTStamp] - Return only appointments updated after this timestamp.
50
+ * @param {string} [params.AppointmentTypeNum] - Returns only appointments matching appointmenttype.AppointmentTypeNum.
50
51
  * @param {number} [params.Offset] - Pagination offset for results.
51
52
  * @returns {Promise<Appointment[]>} - A list of appointments.
52
53
  */
@@ -59,6 +60,7 @@ public async getAppointments({
59
60
  dateEnd,
60
61
  ClinicNum,
61
62
  DateTStamp,
63
+ AppointmentTypeNum,
62
64
  Offset,
63
65
  }: GetAppointmentParams = {}): Promise<Appointment[]> {
64
66
  const params = {
@@ -70,6 +72,7 @@ public async getAppointments({
70
72
  dateEnd,
71
73
  ClinicNum,
72
74
  DateTStamp,
75
+ AppointmentTypeNum,
73
76
  Offset,
74
77
  };
75
78
 
@@ -103,7 +106,7 @@ public async getAppointments({
103
106
  * @returns {Promise<AppointmentSlot[]>} - A list of available slots.
104
107
  */
105
108
  public async getSlots(params?: GetSlotsParams): Promise<AppointmentSlot[]> {
106
- return this.httpClient.get<AppointmentSlot[]>("/appointments/slots", params);
109
+ return this.httpClient.get<AppointmentSlot[]>("/appointments/Slots", params);
107
110
  }
108
111
 
109
112
  /**
@@ -122,7 +125,7 @@ public async getAppointments({
122
125
  if (!params.ClinicNum) {
123
126
  throw new Error("ClinicNum is required when Clinics are enabled.");
124
127
  }
125
- return this.httpClient.get<AppointmentSlot[]>("/appointments/slotswebsched", params);
128
+ return this.httpClient.get<AppointmentSlot[]>("/appointments/SlotsWebSched", params);
126
129
  }
127
130
 
128
131
  /**
@@ -138,7 +141,7 @@ public async getAppointments({
138
141
  public async getWebSchedAppointments(
139
142
  params?: GetWebSchedAppointmentsParams
140
143
  ): Promise<Appointment[]> {
141
- return this.httpClient.get<Appointment[]>("/appointments/websched", params);
144
+ return this.httpClient.get<Appointment[]>("/appointments/WebSched", params);
142
145
  }
143
146
 
144
147
  /**
@@ -196,7 +199,7 @@ public async getAppointments({
196
199
  throw new Error("PatNum and either AppointmentTypeNum or procNums are required.");
197
200
  }
198
201
 
199
- return this.httpClient.post<Appointment>("/appointments/planned", data);
202
+ return this.httpClient.post<Appointment>("/appointments/Planned", data);
200
203
  }
201
204
 
202
205
 
@@ -219,7 +222,7 @@ public async getAppointments({
219
222
  throw new Error("AptNum, AptDateTime, ProvNum, and Op are required.");
220
223
  }
221
224
 
222
- return this.httpClient.post<Appointment>("/appointments/scheduleplanned", data);
225
+ return this.httpClient.post<Appointment>("/appointments/SchedulePlanned", data);
223
226
  }
224
227
 
225
228
  /**
@@ -250,7 +253,7 @@ public async getAppointments({
250
253
  );
251
254
  }
252
255
 
253
- return this.httpClient.post<Appointment>("/appointments/websched", data);
256
+ return this.httpClient.post<Appointment>("/appointments/WebSched", data);
254
257
  }
255
258
 
256
259
  /**
@@ -299,7 +302,7 @@ public async getAppointments({
299
302
  throw new Error("AptNum and sendToUnscheduledList are required.");
300
303
  }
301
304
 
302
- return this.httpClient.put<void>(`/appointments/${data.AptNum}/break`, data);
305
+ return this.httpClient.put<void>(`/appointments/${data.AptNum}/Break`, data);
303
306
  }
304
307
 
305
308
  /**
@@ -314,7 +317,7 @@ public async getAppointments({
314
317
  throw new Error("AptNum and Note are required.");
315
318
  }
316
319
 
317
- return this.httpClient.put<void>(`/appointments/${AptNum}/note`, { Note });
320
+ return this.httpClient.put<void>(`/appointments/${AptNum}/Note`, { Note });
318
321
  }
319
322
 
320
323
  /**
@@ -5,7 +5,6 @@ import {
5
5
  CreateDiscountPlanSubParams,
6
6
  UpdateDiscountPlanSubParams,
7
7
  } from "../types/discountPlanSubTypes";
8
- import { createProcedureLogParams } from "../types/procedurelogTypes";
9
8
 
10
9
  export default class DiscountPlanSubs {
11
10
  private httpClient: HttpClient;
@@ -15,7 +14,7 @@ export default class DiscountPlanSubs {
15
14
  }
16
15
 
17
16
  /**
18
- * Fetch multiple discountplansubs with optional filtering and pagination.
17
+ * Fetch patient's discountplansubs with optional filtering and pagination.
19
18
  * @param {Object} params - The parameters for filtering and pagination.
20
19
  * @param {number} [params.PatNum] - Filter by patient.
21
20
  * @returns {Promise<DiscountPlanSub>} - A list of discountplansubs.
@@ -0,0 +1,159 @@
1
+ import HttpClient from "../utils/httpClient";
2
+ import {
3
+ DiscountPlan,
4
+ GetDiscountPlansParams,
5
+ CreateDiscountPlanParams,
6
+ UpdateDiscountPlanParams,
7
+ } from "../types/DiscountPlanTypes";
8
+
9
+ export default class DiscountPlans {
10
+ private httpClient: HttpClient;
11
+
12
+ constructor(httpClient: HttpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+
16
+ /**
17
+ * Fetch a single discountplan by its ID.
18
+ * @param {number} DiscountPlanNum - The ID of the DiscountPlanNum.
19
+ * @returns {Promise<DiscountPlan>} - The DiscountPlan data.
20
+ * @throws {Error} - If `DiscountPlan` is not valid or the API returns an error.
21
+ */
22
+ public async getDiscountPlan(DiscountPlanNum: number): Promise<DiscountPlan> {
23
+ if (!DiscountPlanNum || typeof DiscountPlanNum !== "number") {
24
+ throw new Error("Invalid parameter: DiscountPlanNum must be a valid number.");
25
+ }
26
+
27
+ return await this.httpClient.get<DiscountPlan>(`/discountplans/${DiscountPlanNum}`);
28
+ }
29
+
30
+ /**
31
+ * Fetch multiple discountplans with optional filtering and pagination.
32
+ * @param {Object} params - The parameters for filtering and pagination.
33
+ * @param {number} [params.Offset] - Optional. Pagination.
34
+ * @returns {Promise<DiscountPlan>} - A list of discountplansubs.
35
+ */
36
+ public async getDiscountPlans({
37
+ Offset,
38
+ }: GetDiscountPlansParams = {}): Promise<DiscountPlan> {
39
+ const params = {
40
+ Offset,
41
+ };
42
+
43
+ return this.httpClient.get<DiscountPlan>("/discountplans", params);
44
+ }
45
+
46
+ /**
47
+ * Create a new discount plan.
48
+ * @param {Object} data - The details of discount plan to create.
49
+ * @param {string} data.Description - Required. Description of this Discount Plan.
50
+ * @param {number} data.FeeSchedNum - Required. FK to feesched.FeeSchedNum.
51
+ * @param {number} data.DefNum - Required. definition.DefNum where definition.Category=1 and definition.ItemValue=dp.
52
+ * @param {"true" | "false"} [data.IsHidden] - Optional. Hides a Discount Plan. Default "false".
53
+ * @param {string} [data.PlanNote] - Optional. Note on a Discount Plan.
54
+ * @param {number} [data.ExamFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Exam category. Default -1.
55
+ * @param {number} [data.XrayFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's X-Ray category. Default -1.
56
+ * @param {number} [data.ProphyFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Prophy category. Default -1.
57
+ * @param {number} [data.FluorideFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Fluoride category. Default -1.
58
+ * @param {number} [data.PerioFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Perio category. Default -1.
59
+ * @param {number} [data.LimitedExamFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Limited Exam category. Default -1.
60
+ * @param {number} [data.PAFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Periapical X-Ray category. Default -1.
61
+ * @param {number} [data.AnnualMax] - Optional. Annual discount maximum for frequency limitations. Default -1, indicates no annual max limitation.
62
+ * @returns {Promise<DiscountPlan>} - The new discount plan.
63
+ * @throws {Error} - If required fields are missing or the API returns an error.
64
+ */
65
+ public async createDiscountPlan({
66
+ Description,
67
+ FeeSchedNum,
68
+ DefNum,
69
+ IsHidden,
70
+ PlanNote,
71
+ ExamFreqLimit,
72
+ XrayFreqLimit,
73
+ ProphyFreqLimit,
74
+ FluorideFreqLimit,
75
+ PerioFreqLimit,
76
+ LimitedExamFreqLimit,
77
+ PAFreqLimit,
78
+ AnnualMax,
79
+ } : CreateDiscountPlanParams): Promise<DiscountPlan> {
80
+ if (!Description || !FeeSchedNum || !DefNum) {
81
+ throw new Error("Invalid data: Description, FeeSchedNum and DefNum are required.");
82
+ }
83
+
84
+ return this.httpClient.post<DiscountPlan>("/discountplans", {
85
+ Description,
86
+ FeeSchedNum,
87
+ DefNum,
88
+ IsHidden,
89
+ PlanNote,
90
+ ExamFreqLimit,
91
+ XrayFreqLimit,
92
+ ProphyFreqLimit,
93
+ FluorideFreqLimit,
94
+ PerioFreqLimit,
95
+ LimitedExamFreqLimit,
96
+ PAFreqLimit,
97
+ AnnualMax,
98
+ });
99
+ }
100
+
101
+
102
+ /**
103
+ * Update a discount plan sub.
104
+ * @param {Object} data - The details of discount plan to update.
105
+ * @param {string} data.DiscountPlanNum - Required. Primary key of the Discount Plan.
106
+ * @param {string} [data.Description] - Optional. Description of this Discount Plan.
107
+ * @param {number} [data.FeeSchedNum] - Optional. FK to feesched.FeeSchedNum.
108
+ * @param {number} [data.DefNum] - Optional. definition.DefNum where definition.Category=1 and definition.ItemValue=dp.
109
+ * @param {"true" | "false"} [data.IsHidden] - Optional. Hides a Discount Plan. Default "false".
110
+ * @param {string} [data.PlanNote] - Optional. Note on a Discount Plan.
111
+ * @param {number} [data.ExamFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Exam category. Default -1.
112
+ * @param {number} [data.XrayFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's X-Ray category. Default -1.
113
+ * @param {number} [data.ProphyFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Prophy category. Default -1.
114
+ * @param {number} [data.FluorideFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Fluoride category. Default -1.
115
+ * @param {number} [data.PerioFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Perio category. Default -1.
116
+ * @param {number} [data.LimitedExamFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Limited Exam category. Default -1.
117
+ * @param {number} [data.PAFreqLimit] - Optional: Number of procedures allowed for a Discount Plan's Periapical X-Ray category. Default -1.
118
+ * @param {number} [data.AnnualMax] - Optional. Annual discount maximum for frequency limitations. Default -1, indicates no annual max limitation.
119
+ * @returns {Promise<DiscountPlan>} - The new discount plan.
120
+ * @throws {Error} - If required fields are missing or the API returns an error.
121
+ */
122
+ public async updateDiscountPlan({
123
+ DiscountPlanNum,
124
+ Description,
125
+ FeeSchedNum,
126
+ DefNum,
127
+ IsHidden,
128
+ PlanNote,
129
+ ExamFreqLimit,
130
+ XrayFreqLimit,
131
+ ProphyFreqLimit,
132
+ FluorideFreqLimit,
133
+ PerioFreqLimit,
134
+ LimitedExamFreqLimit,
135
+ PAFreqLimit,
136
+ AnnualMax,
137
+ } : UpdateDiscountPlanParams): Promise<DiscountPlan> {
138
+ if (!DiscountPlanNum) {
139
+ throw new Error("Invalid data: DiscountPlanNum is required.");
140
+ }
141
+
142
+ return this.httpClient.put<DiscountPlan>(`/discountplans/${DiscountPlanNum}`, {
143
+ DiscountPlanNum,
144
+ Description,
145
+ FeeSchedNum,
146
+ DefNum,
147
+ IsHidden,
148
+ PlanNote,
149
+ ExamFreqLimit,
150
+ XrayFreqLimit,
151
+ ProphyFreqLimit,
152
+ FluorideFreqLimit,
153
+ PerioFreqLimit,
154
+ LimitedExamFreqLimit,
155
+ PAFreqLimit,
156
+ AnnualMax,
157
+ });
158
+ }
159
+ }
@@ -0,0 +1,43 @@
1
+ import HttpClient from "../utils/httpClient";
2
+ import {
3
+ Fee,
4
+ GetFeesParams,
5
+ CreateFeeParams,
6
+ UpdateFeeParams,
7
+ } from "../types/feeTypes";
8
+
9
+ export default class Fees {
10
+ private httpClient: HttpClient;
11
+
12
+ constructor(httpClient: HttpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+
16
+ /**
17
+ * Fetch multiple fees with optional filtering and pagination.
18
+ * @param {Object} params - The parameters for filtering and pagination.
19
+ * @param {number} [params.FeeSched] - Optional. Get all Fees for a FeeSched.
20
+ * @param {number} [params.CodeNum] - Optional. Get all Fees for a single CodeNum.
21
+ * @param {number} [params.ClinicNum] - Optional. Get all Fees attached to a specific ClinicNum.
22
+ * @param {number} [params.ProvNum] - Optional. Get all Fees attached to a specific ProvNum.
23
+ * @param {number} [params.Offset] - Optional. Pagination offset for results.
24
+ * @returns {Promise<Fee[]>} - A list of fees.
25
+ */
26
+ public async getPaySplits({
27
+ FeeSched,
28
+ CodeNum,
29
+ ClinicNum,
30
+ ProvNum,
31
+ Offset,
32
+ }: GetFeesParams = {}): Promise<Fee[]> {
33
+ const params = {
34
+ FeeSched,
35
+ CodeNum,
36
+ ClinicNum,
37
+ ProvNum,
38
+ Offset,
39
+ };
40
+
41
+ return this.httpClient.get<Fee[]>("/fees", params);
42
+ }
43
+ }
package/src/api/index.ts CHANGED
@@ -6,10 +6,13 @@ export { default as Patients } from "./patients";
6
6
  export { default as ProcedureLogs } from "./procedureLog";
7
7
  export { default as Recalls } from "./recalls";
8
8
  export { default as TreatmentPlans } from "./treatplans";
9
+ export { default as TreatmentPlanAttaches } from "./treatplanattaches";
9
10
  export { default as Schedules } from "./schedules";
10
11
  export { default as Providers } from "./providers";
11
12
  export { default as Operatories } from "./operatories";
12
13
  export { default as Payments } from "./payments";
13
14
  export { default as Definitions } from "./definitions";
14
15
  export { default as DiscountPlanSubs } from "./discountPlanSubs";
16
+ export { default as DiscountPlans } from "./discountPlans";
17
+ export { default as Fees } from "./fees";
15
18
  // Add other APIs as needed