@oystehr/sdk 3.0.7 → 3.0.8

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 (161) hide show
  1. package/README.md +5 -5
  2. package/dist/cjs/index.cjs +273 -228
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs/index.min.cjs +1 -1
  5. package/dist/cjs/index.min.cjs.map +1 -1
  6. package/dist/cjs/resources/classes/application.d.ts +6 -6
  7. package/dist/cjs/resources/classes/charge.d.ts +1 -1
  8. package/dist/cjs/resources/classes/conversation.d.ts +6 -6
  9. package/dist/cjs/resources/classes/developer.d.ts +14 -7
  10. package/dist/cjs/resources/classes/erx.d.ts +9 -1
  11. package/dist/cjs/resources/classes/fax.d.ts +4 -4
  12. package/dist/cjs/resources/classes/fhir.d.ts +1 -1
  13. package/dist/cjs/resources/classes/m2m.d.ts +15 -8
  14. package/dist/cjs/resources/classes/messaging.d.ts +1 -1
  15. package/dist/cjs/resources/classes/paymentMethod.d.ts +1 -1
  16. package/dist/cjs/resources/classes/project.d.ts +10 -3
  17. package/dist/cjs/resources/classes/rcm.d.ts +4 -4
  18. package/dist/cjs/resources/classes/role.d.ts +6 -6
  19. package/dist/cjs/resources/classes/secret.d.ts +1 -1
  20. package/dist/cjs/resources/classes/telemed.d.ts +2 -2
  21. package/dist/cjs/resources/classes/transactionalSMS.d.ts +2 -2
  22. package/dist/cjs/resources/classes/user.d.ts +15 -8
  23. package/dist/cjs/resources/classes/version.d.ts +1 -1
  24. package/dist/cjs/resources/classes/z3.d.ts +7 -7
  25. package/dist/cjs/resources/classes/zambda.d.ts +9 -9
  26. package/dist/cjs/resources/classes/zambdaLogStream.d.ts +4 -4
  27. package/dist/cjs/resources/types/AccessPolicy.d.ts +8 -3
  28. package/dist/cjs/resources/types/ChargeIssueParams.d.ts +1 -1
  29. package/dist/cjs/resources/types/ChargeStatusParams.d.ts +1 -1
  30. package/dist/cjs/resources/types/DeveloperListV2Params.d.ts +2 -2
  31. package/dist/cjs/resources/types/FaxSendParams.d.ts +1 -1
  32. package/dist/cjs/resources/types/M2mListV2Params.d.ts +2 -2
  33. package/dist/cjs/resources/types/M2mRotateSecretResponse.d.ts +1 -1
  34. package/dist/cjs/resources/types/RcmEligibilityCheckParams.d.ts +1 -1
  35. package/dist/cjs/resources/types/RoleUpdateParams.d.ts +0 -4
  36. package/dist/cjs/resources/types/TelemedCreateMeetingParams.d.ts +1 -1
  37. package/dist/cjs/resources/types/UserListV2Params.d.ts +2 -2
  38. package/dist/cjs/resources/types/ZambdaCreateParams.d.ts +1 -1
  39. package/dist/cjs/resources/types/ZambdaFunction.d.ts +1 -1
  40. package/dist/cjs/resources/types/ZambdaUpdateParams.d.ts +2 -2
  41. package/dist/esm/index.min.js +1 -1
  42. package/dist/esm/index.min.js.map +1 -1
  43. package/dist/esm/resources/classes/application.d.ts +6 -6
  44. package/dist/esm/resources/classes/application.js +20 -17
  45. package/dist/esm/resources/classes/application.js.map +1 -1
  46. package/dist/esm/resources/classes/charge.d.ts +1 -1
  47. package/dist/esm/resources/classes/charge.js +9 -6
  48. package/dist/esm/resources/classes/charge.js.map +1 -1
  49. package/dist/esm/resources/classes/conversation.d.ts +6 -6
  50. package/dist/esm/resources/classes/conversation.js +17 -14
  51. package/dist/esm/resources/classes/conversation.js.map +1 -1
  52. package/dist/esm/resources/classes/developer.d.ts +14 -7
  53. package/dist/esm/resources/classes/developer.js +18 -15
  54. package/dist/esm/resources/classes/developer.js.map +1 -1
  55. package/dist/esm/resources/classes/erx.d.ts +9 -1
  56. package/dist/esm/resources/classes/erx.js +13 -10
  57. package/dist/esm/resources/classes/erx.js.map +1 -1
  58. package/dist/esm/resources/classes/fax.d.ts +4 -4
  59. package/dist/esm/resources/classes/fax.js +13 -10
  60. package/dist/esm/resources/classes/fax.js.map +1 -1
  61. package/dist/esm/resources/classes/fhir.d.ts +1 -1
  62. package/dist/esm/resources/classes/fhir.js +3 -4
  63. package/dist/esm/resources/classes/fhir.js.map +1 -1
  64. package/dist/esm/resources/classes/index.js +2 -2
  65. package/dist/esm/resources/classes/index.js.map +1 -1
  66. package/dist/esm/resources/classes/m2m.d.ts +15 -8
  67. package/dist/esm/resources/classes/m2m.js +20 -17
  68. package/dist/esm/resources/classes/m2m.js.map +1 -1
  69. package/dist/esm/resources/classes/messaging.d.ts +1 -1
  70. package/dist/esm/resources/classes/messaging.js +8 -5
  71. package/dist/esm/resources/classes/messaging.js.map +1 -1
  72. package/dist/esm/resources/classes/paymentMethod.d.ts +1 -1
  73. package/dist/esm/resources/classes/paymentMethod.js +11 -8
  74. package/dist/esm/resources/classes/paymentMethod.js.map +1 -1
  75. package/dist/esm/resources/classes/project.d.ts +10 -3
  76. package/dist/esm/resources/classes/project.js +10 -7
  77. package/dist/esm/resources/classes/project.js.map +1 -1
  78. package/dist/esm/resources/classes/rcm.d.ts +4 -4
  79. package/dist/esm/resources/classes/rcm.js +13 -10
  80. package/dist/esm/resources/classes/rcm.js.map +1 -1
  81. package/dist/esm/resources/classes/role.d.ts +6 -6
  82. package/dist/esm/resources/classes/role.js +17 -14
  83. package/dist/esm/resources/classes/role.js.map +1 -1
  84. package/dist/esm/resources/classes/secret.d.ts +1 -1
  85. package/dist/esm/resources/classes/secret.js +11 -8
  86. package/dist/esm/resources/classes/secret.js.map +1 -1
  87. package/dist/esm/resources/classes/telemed.d.ts +2 -2
  88. package/dist/esm/resources/classes/telemed.js +10 -7
  89. package/dist/esm/resources/classes/telemed.js.map +1 -1
  90. package/dist/esm/resources/classes/transactionalSMS.d.ts +2 -2
  91. package/dist/esm/resources/classes/transactionalSMS.js +9 -6
  92. package/dist/esm/resources/classes/transactionalSMS.js.map +1 -1
  93. package/dist/esm/resources/classes/user.d.ts +15 -8
  94. package/dist/esm/resources/classes/user.js +20 -17
  95. package/dist/esm/resources/classes/user.js.map +1 -1
  96. package/dist/esm/resources/classes/version.d.ts +1 -1
  97. package/dist/esm/resources/classes/version.js +8 -5
  98. package/dist/esm/resources/classes/version.js.map +1 -1
  99. package/dist/esm/resources/classes/z3.d.ts +7 -7
  100. package/dist/esm/resources/classes/z3.js +19 -16
  101. package/dist/esm/resources/classes/z3.js.map +1 -1
  102. package/dist/esm/resources/classes/zambda.d.ts +9 -9
  103. package/dist/esm/resources/classes/zambda.js +23 -20
  104. package/dist/esm/resources/classes/zambda.js.map +1 -1
  105. package/dist/esm/resources/classes/zambdaLogStream.d.ts +4 -4
  106. package/dist/esm/resources/classes/zambdaLogStream.js +13 -10
  107. package/dist/esm/resources/classes/zambdaLogStream.js.map +1 -1
  108. package/dist/esm/resources/types/AccessPolicy.d.ts +8 -3
  109. package/dist/esm/resources/types/ChargeIssueParams.d.ts +1 -1
  110. package/dist/esm/resources/types/ChargeStatusParams.d.ts +1 -1
  111. package/dist/esm/resources/types/DeveloperListV2Params.d.ts +2 -2
  112. package/dist/esm/resources/types/FaxSendParams.d.ts +1 -1
  113. package/dist/esm/resources/types/M2mListV2Params.d.ts +2 -2
  114. package/dist/esm/resources/types/M2mRotateSecretResponse.d.ts +1 -1
  115. package/dist/esm/resources/types/RcmEligibilityCheckParams.d.ts +1 -1
  116. package/dist/esm/resources/types/RoleUpdateParams.d.ts +0 -4
  117. package/dist/esm/resources/types/TelemedCreateMeetingParams.d.ts +1 -1
  118. package/dist/esm/resources/types/UserListV2Params.d.ts +2 -2
  119. package/dist/esm/resources/types/ZambdaCreateParams.d.ts +1 -1
  120. package/dist/esm/resources/types/ZambdaFunction.d.ts +1 -1
  121. package/dist/esm/resources/types/ZambdaUpdateParams.d.ts +2 -2
  122. package/package.json +1 -1
  123. package/src/resources/classes/application.ts +18 -14
  124. package/src/resources/classes/charge.ts +3 -3
  125. package/src/resources/classes/conversation.ts +11 -11
  126. package/src/resources/classes/developer.ts +30 -13
  127. package/src/resources/classes/erx.ts +29 -7
  128. package/src/resources/classes/fax.ts +7 -7
  129. package/src/resources/classes/fhir.ts +1 -1
  130. package/src/resources/classes/index.ts +2 -2
  131. package/src/resources/classes/m2m.ts +29 -15
  132. package/src/resources/classes/messaging.ts +2 -2
  133. package/src/resources/classes/paymentMethod.ts +5 -5
  134. package/src/resources/classes/project.ts +22 -5
  135. package/src/resources/classes/rcm.ts +7 -7
  136. package/src/resources/classes/role.ts +11 -11
  137. package/src/resources/classes/secret.ts +5 -5
  138. package/src/resources/classes/telemed.ts +8 -4
  139. package/src/resources/classes/transactionalSMS.ts +3 -3
  140. package/src/resources/classes/user.ts +32 -15
  141. package/src/resources/classes/version.ts +2 -2
  142. package/src/resources/classes/z3.ts +13 -13
  143. package/src/resources/classes/zambda.ts +17 -17
  144. package/src/resources/classes/zambdaLogStream.ts +7 -7
  145. package/src/resources/types/AccessPolicy.ts +12 -3
  146. package/src/resources/types/ChargeIssueParams.ts +1 -1
  147. package/src/resources/types/ChargeStatusParams.ts +1 -1
  148. package/src/resources/types/DeveloperListV2Params.ts +2 -2
  149. package/src/resources/types/FaxSendParams.ts +1 -1
  150. package/src/resources/types/M2mListV2Params.ts +2 -2
  151. package/src/resources/types/M2mRotateSecretResponse.ts +1 -1
  152. package/src/resources/types/RcmEligibilityCheckParams.ts +1 -1
  153. package/src/resources/types/RoleUpdateParams.ts +0 -4
  154. package/src/resources/types/TelemedCreateMeetingParams.ts +1 -1
  155. package/src/resources/types/UserListV2Params.ts +2 -2
  156. package/src/resources/types/ZambdaCreateParams.ts +1 -1
  157. package/src/resources/types/ZambdaFunction.ts +1 -1
  158. package/src/resources/types/ZambdaUpdateParams.ts +2 -2
  159. package/dist/esm/node_modules/tslib/package.json +0 -1
  160. package/dist/esm/node_modules/tslib/tslib.es6.js +0 -34
  161. package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
@@ -2,5 +2,5 @@ export interface ChargeIssueParams {
2
2
  /**
3
3
  * An ID reference to a FHIR Encounter resource in the format: `some-uuid`.
4
4
  */
5
- encounterId?: string;
5
+ encounterId: string;
6
6
  }
@@ -2,5 +2,5 @@ export interface ChargeStatusParams {
2
2
  /**
3
3
  * An ID reference to a FHIR Encounter resource in the format: `some-uuid`.
4
4
  */
5
- encounterId?: string;
5
+ encounterId: string;
6
6
  }
@@ -6,6 +6,6 @@ export interface DeveloperListV2Params {
6
6
  roleId?: string;
7
7
  cursor?: string;
8
8
  limit?: number;
9
- sort?: string;
10
- sortOrder?: string;
9
+ sort?: 'id' | 'name' | 'email' | 'phoneNumber' | 'createdAt';
10
+ sortOrder?: 'asc' | 'desc';
11
11
  }
@@ -12,7 +12,7 @@ export interface FaxSendParams {
12
12
  */
13
13
  recipient: string;
14
14
  /**
15
- * The sender of the fax. This must be a valid FHIR HealthcareService, Organization, Patient, Practitioner, PractitionerRole, or RelatedPerson relative reference in the format: `the-resource-type/some-valid-uuid`. This reference must be a valid resource and have your [onboarded fax number](https://docs.oystehr.com/services/fax/number/) in the `telecom` field with a `system` of `fax`.
15
+ * The sender of the fax. This must be a valid FHIR HealthcareService, Organization, Patient, Practitioner, PractitionerRole, or RelatedPerson relative reference in the format: `the-resource-type/some-valid-uuid`. This reference must be a valid resource and have your [onboarded fax number](https://docs.oystehr.com/oystehr/services/fax/number/) in the `telecom` field with a `system` of `fax`.
16
16
  */
17
17
  sender: string;
18
18
  }
@@ -5,6 +5,6 @@ export interface M2mListV2Params {
5
5
  roleId?: string;
6
6
  cursor?: string;
7
7
  limit?: number;
8
- sort?: string;
9
- sortOrder?: string;
8
+ sort?: 'id' | 'name' | 'email' | 'phoneNumber' | 'createdAt';
9
+ sortOrder?: 'asc' | 'desc';
10
10
  }
@@ -2,5 +2,5 @@
2
2
  * M2M Client secret rotated
3
3
  */
4
4
  export interface M2mRotateSecretResponse {
5
- secret?: string;
5
+ secret: string;
6
6
  }
@@ -2,5 +2,5 @@ export interface RcmEligibilityCheckParams {
2
2
  /**
3
3
  * Identifier of the CoverageEligibilityRequest that the eligibility check will reference.
4
4
  */
5
- eligibilityRequestId?: string;
5
+ eligibilityRequestId: string;
6
6
  }
@@ -1,9 +1,5 @@
1
1
  import { AccessPolicy } from './AccessPolicy';
2
2
  export interface RoleUpdateParams {
3
- /**
4
- * The unique id of the role
5
- */
6
- id?: string;
7
3
  /**
8
4
  * The name of the role.
9
5
  */
@@ -3,5 +3,5 @@ export interface TelemedCreateMeetingParams {
3
3
  /**
4
4
  * Well formed Encounter with the https://extensions.fhir.oystehr.com/encounter-other-participants extension specified optionally.
5
5
  */
6
- encounter?: Encounter;
6
+ encounter: Encounter;
7
7
  }
@@ -6,6 +6,6 @@ export interface UserListV2Params {
6
6
  roleId?: string;
7
7
  cursor?: string;
8
8
  limit?: number;
9
- sort?: string;
10
- sortOrder?: string;
9
+ sort?: 'id' | 'name' | 'email' | 'phoneNumber' | 'createdAt';
10
+ sortOrder?: 'asc' | 'desc';
11
11
  }
@@ -5,7 +5,7 @@ export interface ZambdaCreateParams {
5
5
  */
6
6
  name: string;
7
7
  /**
8
- * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/services/zambda/#types-of-zambdas.
8
+ * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/oystehr/services/zambda/#types-of-zambdas.
9
9
  */
10
10
  triggerMethod?: 'http_auth' | 'http_open' | 'subscription' | 'cron';
11
11
  schedule?: ZambdaSchedule;
@@ -14,7 +14,7 @@ export interface ZambdaFunction {
14
14
  */
15
15
  status: 'Draft' | 'Pending' | 'Active' | 'Failed' | 'Inactive' | 'Validating';
16
16
  /**
17
- * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/services/zambda/#types-of-zambdas.
17
+ * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/oystehr/services/zambda/#types-of-zambdas.
18
18
  */
19
19
  triggerMethod: 'http_auth' | 'http_open' | 'subscription' | 'cron';
20
20
  schedule?: ZambdaSchedule;
@@ -5,13 +5,13 @@ export interface ZambdaUpdateParams {
5
5
  */
6
6
  name?: string;
7
7
  /**
8
- * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/services/zambda/#types-of-zambdas.
8
+ * The trigger method for the Zambda Function determines how the Function is invoked. Learn more about the different types here, https://docs.oystehr.com/oystehr/services/zambda/#types-of-zambdas.
9
9
  */
10
10
  triggerMethod?: 'http_auth' | 'http_open' | 'subscription' | 'cron';
11
11
  schedule?: ZambdaSchedule;
12
12
  /**
13
13
  * The runtime to use for the Zambda Function. This property is optional and defaults to "nodejs20.x".
14
14
  */
15
- runtime?: 'nodejs18.x' | 'nodejs20.x';
15
+ runtime?: 'nodejs18.x' | 'nodejs20.x' | 'nodejs22.x';
16
16
  id: string;
17
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oystehr/sdk",
3
- "version": "3.0.7",
3
+ "version": "3.0.8",
4
4
  "description": "Oystehr SDK",
5
5
  "scripts": {
6
6
  "lint": "eslint .",
@@ -24,53 +24,53 @@ export class Application extends SDKResource {
24
24
  constructor(config: OystehrConfig) {
25
25
  super(config);
26
26
  }
27
- baseUrlThunk(): string {
27
+ #baseUrlThunk(): string {
28
28
  return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
29
29
  }
30
30
  /**
31
- * Get a list of Applications. [Applications](https://docs.oystehr.com/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
31
+ * Get a list of Applications. [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
32
32
  *
33
33
  * Access Policy Action: `App:ListAllApplications`
34
34
  * Access Policy Resource: `App:Application`
35
35
  */
36
36
  list(request?: OystehrClientRequest): Promise<ApplicationListResponse> {
37
- return this.request('/application', 'get', this.baseUrlThunk.bind(this))(request);
37
+ return this.request('/application', 'get', this.#baseUrlThunk.bind(this))(request);
38
38
  }
39
39
  /**
40
- * Create a new Application. [Applications](https://docs.oystehr.com/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
40
+ * Create a new Application. [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
41
41
  *
42
42
  * Access Policy Action: `App:CreateApplication`
43
43
  * Access Policy Resource: `App:Application`
44
44
  */
45
45
  create(params: ApplicationCreateParams, request?: OystehrClientRequest): Promise<ApplicationCreateResponse> {
46
- return this.request('/application', 'post', this.baseUrlThunk.bind(this))(params, request);
46
+ return this.request('/application', 'post', this.#baseUrlThunk.bind(this))(params, request);
47
47
  }
48
48
  /**
49
- * Get the Application with the provided ID. [Applications](https://docs.oystehr.com/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
49
+ * Get the Application with the provided ID. [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
50
50
  *
51
51
  * Access Policy Action: `App:GetApplication`
52
52
  * Access Policy Resource: `App:Application`
53
53
  */
54
54
  get(params: ApplicationGetParams, request?: OystehrClientRequest): Promise<ApplicationGetResponse> {
55
- return this.request('/application/{id}', 'get', this.baseUrlThunk.bind(this))(params, request);
55
+ return this.request('/application/{id}', 'get', this.#baseUrlThunk.bind(this))(params, request);
56
56
  }
57
57
  /**
58
- * Update the Application with the provided ID. [Applications](https://docs.oystehr.com/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
58
+ * Update the Application with the provided ID. [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
59
59
  *
60
60
  * Access Policy Action: `App:UpdateApplication`
61
61
  * Access Policy Resource: `App:Application`
62
62
  */
63
63
  update(params: ApplicationUpdateParams, request?: OystehrClientRequest): Promise<ApplicationUpdateResponse> {
64
- return this.request('/application/{id}', 'patch', this.baseUrlThunk.bind(this))(params, request);
64
+ return this.request('/application/{id}', 'patch', this.#baseUrlThunk.bind(this))(params, request);
65
65
  }
66
66
  /**
67
- * Delete the Application with the provided ID. [Applications](https://docs.oystehr.com/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
67
+ * Delete the Application with the provided ID. [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) provide authentication in front of the web and mobile apps you build on Oystehr.
68
68
  *
69
69
  * Access Policy Action: `App:DeleteApplication`
70
70
  * Access Policy Resource: `App:Application`
71
71
  */
72
72
  delete(params: ApplicationDeleteParams, request?: OystehrClientRequest): Promise<void> {
73
- return this.request('/application/{id}', 'delete', this.baseUrlThunk.bind(this))(params, request);
73
+ return this.request('/application/{id}', 'delete', this.#baseUrlThunk.bind(this))(params, request);
74
74
  }
75
75
  /**
76
76
  * Rotate client's secrete associated with an application.
@@ -82,7 +82,7 @@ export class Application extends SDKResource {
82
82
  params: ApplicationRotateSecretParams,
83
83
  request?: OystehrClientRequest
84
84
  ): Promise<ApplicationRotateSecretResponse> {
85
- return this.request('/application/{id}/rotate-secret', 'post', this.baseUrlThunk.bind(this))(params, request);
85
+ return this.request('/application/{id}/rotate-secret', 'post', this.#baseUrlThunk.bind(this))(params, request);
86
86
  }
87
87
  /**
88
88
  * Revokes user's refresh token issued for the application.
@@ -97,7 +97,7 @@ export class Application extends SDKResource {
97
97
  return this.request(
98
98
  '/application/{id}/revoke-refresh-token',
99
99
  'post',
100
- this.baseUrlThunk.bind(this)
100
+ this.#baseUrlThunk.bind(this)
101
101
  )(params, request);
102
102
  }
103
103
  /**
@@ -110,6 +110,10 @@ export class Application extends SDKResource {
110
110
  params: ApplicationRevokeAccessTokenParams,
111
111
  request?: OystehrClientRequest
112
112
  ): Promise<ApplicationRevokeAccessTokenResponse> {
113
- return this.request('/application/{id}/revoke-access-token', 'post', this.baseUrlThunk.bind(this))(params, request);
113
+ return this.request(
114
+ '/application/{id}/revoke-access-token',
115
+ 'post',
116
+ this.#baseUrlThunk.bind(this)
117
+ )(params, request);
114
118
  }
115
119
  }
@@ -8,7 +8,7 @@ export class Charge extends SDKResource {
8
8
  constructor(config: OystehrConfig) {
9
9
  super(config);
10
10
  }
11
- baseUrlThunk(): string {
11
+ #baseUrlThunk(): string {
12
12
  return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
13
13
  }
14
14
  /**
@@ -23,7 +23,7 @@ export class Charge extends SDKResource {
23
23
  * Access Policy Resources: `FHIR:Patient:*,FHIR:Encounter:*,FHIR:Coverage:*`
24
24
  */
25
25
  issue(params: ChargeIssueParams, request?: OystehrClientRequest): Promise<void> {
26
- return this.request('/payment/charge/issue', 'post', this.baseUrlThunk.bind(this))(params, request);
26
+ return this.request('/payment/charge/issue', 'post', this.#baseUrlThunk.bind(this))(params, request);
27
27
  }
28
28
  /**
29
29
  * Retrieve charge status for a specified encounter or charge item.
@@ -37,6 +37,6 @@ export class Charge extends SDKResource {
37
37
  * Access Policy Resources: `FHIR:Patient:*,FHIR:Encounter:*,FHIR:Coverage:*`
38
38
  */
39
39
  status(params: ChargeStatusParams, request?: OystehrClientRequest): Promise<ChargeStatusResponse> {
40
- return this.request('/payment/charge/status', 'post', this.baseUrlThunk.bind(this))(params, request);
40
+ return this.request('/payment/charge/status', 'post', this.#baseUrlThunk.bind(this))(params, request);
41
41
  }
42
42
  }
@@ -17,7 +17,7 @@ export class Conversation extends SDKResource {
17
17
  constructor(config: OystehrConfig) {
18
18
  super(config);
19
19
  }
20
- baseUrlThunk(): string {
20
+ #baseUrlThunk(): string {
21
21
  return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
22
22
  }
23
23
  ENCOUNTER_VS_EXTENSION_URL = ext.ENCOUNTER_VS_EXTENSION_URL;
@@ -29,7 +29,7 @@ export class Conversation extends SDKResource {
29
29
  */
30
30
  getConversationIdFromEncounter = ext.getConversationIdFromEncounter;
31
31
  /**
32
- * Create a new Conversation. [Conversations](https://docs.oystehr.com/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
32
+ * Create a new Conversation. [Conversations](https://docs.oystehr.com/oystehr/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
33
33
  *
34
34
  * Access Policy Requirements:
35
35
  * Action: `Messaging:CreateConversation`
@@ -40,19 +40,19 @@ export class Conversation extends SDKResource {
40
40
  * Access Policy Resource: `FHIR:Encounter`
41
41
  */
42
42
  create(params: ConversationCreateParams, request?: OystehrClientRequest): Promise<ConversationCreateResponse> {
43
- return this.request('/messaging/conversation', 'post', this.baseUrlThunk.bind(this))(params, request);
43
+ return this.request('/messaging/conversation', 'post', this.#baseUrlThunk.bind(this))(params, request);
44
44
  }
45
45
  /**
46
- * Get a Conversation Token. Conversation Tokens are used to join the Conversation with the Twilio Conversations SDKs. [Conversations](https://docs.oystehr.com/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
46
+ * Get a Conversation Token. Conversation Tokens are used to join the Conversation with the Twilio Conversations SDKs. [Conversations](https://docs.oystehr.com/oystehr/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
47
47
  *
48
48
  * Access Policy Action: `Messaging:GetConversationToken`
49
49
  * Access Policy Resource: `Messaging:Conversation`.
50
50
  */
51
51
  getToken(request?: OystehrClientRequest): Promise<ConversationGetTokenResponse> {
52
- return this.request('/messaging/conversation/token', 'get', this.baseUrlThunk.bind(this))(request);
52
+ return this.request('/messaging/conversation/token', 'get', this.#baseUrlThunk.bind(this))(request);
53
53
  }
54
54
  /**
55
- * Add a participant to a Conversation. [Conversations](https://docs.oystehr.com/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
55
+ * Add a participant to a Conversation. [Conversations](https://docs.oystehr.com/oystehr/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
56
56
  *
57
57
  * Access Policy Requirements:
58
58
  * Action: `Messaging:ConversationAddParticipant`
@@ -66,11 +66,11 @@ export class Conversation extends SDKResource {
66
66
  return this.request(
67
67
  '/messaging/conversation/{conversationId}/participant',
68
68
  'post',
69
- this.baseUrlThunk.bind(this)
69
+ this.#baseUrlThunk.bind(this)
70
70
  )(params, request);
71
71
  }
72
72
  /**
73
- * Remove a participant from a Conversation. [Conversations](https://docs.oystehr.com/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
73
+ * Remove a participant from a Conversation. [Conversations](https://docs.oystehr.com/oystehr/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
74
74
  *
75
75
  * Access Policy Requirements:
76
76
  * Action: `Messaging:ConversationRemoveParticipant`
@@ -82,11 +82,11 @@ export class Conversation extends SDKResource {
82
82
  return this.request(
83
83
  '/messaging/conversation/{conversationId}/participant',
84
84
  'delete',
85
- this.baseUrlThunk.bind(this)
85
+ this.#baseUrlThunk.bind(this)
86
86
  )(params, request);
87
87
  }
88
88
  /**
89
- * Send a message to a Conversation. [Conversations](https://docs.oystehr.com/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
89
+ * Send a message to a Conversation. [Conversations](https://docs.oystehr.com/oystehr/services/messaging/conversations/) allow you to build multi-channel bi-directional messaging workflows. For example, you might create a Conversation where a provider messages with a patient through a web app, and the patient receives and responds to messages via SMS on their phone.
90
90
  *
91
91
  * Access Policy Requirements:
92
92
  * Action: `Messaging:ConversationSendMessage`
@@ -96,7 +96,7 @@ export class Conversation extends SDKResource {
96
96
  return this.request(
97
97
  '/messaging/conversation/{conversationId}/message',
98
98
  'post',
99
- this.baseUrlThunk.bind(this)
99
+ this.#baseUrlThunk.bind(this)
100
100
  )(params, request);
101
101
  }
102
102
  }
@@ -20,63 +20,80 @@ export class Developer extends SDKResource {
20
20
  constructor(config: OystehrConfig) {
21
21
  super(config);
22
22
  }
23
- baseUrlThunk(): string {
23
+ #baseUrlThunk(): string {
24
24
  return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
25
25
  }
26
26
  /**
27
- * Get the Developer with the provided ID. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/services/project/). [Developers](https://docs.oystehr.com/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
27
+ * Get the Developer with the provided ID. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/oystehr/services/project/). [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
28
28
  *
29
29
  * Access Policy Action: `IAM:GetDeveloper`
30
30
  * Access Policy Resource: `IAM:Developer`
31
31
  */
32
32
  get(params: DeveloperGetParams, request?: OystehrClientRequest): Promise<DeveloperGetResponse> {
33
- return this.request('/developer/{id}', 'get', this.baseUrlThunk.bind(this))(params, request);
33
+ return this.request('/developer/{id}', 'get', this.#baseUrlThunk.bind(this))(params, request);
34
34
  }
35
35
  /**
36
- * Update the Developer with the provided ID. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/services/project/). [Developers](https://docs.oystehr.com/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
36
+ * Update the Developer with the provided ID. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/oystehr/services/project/). [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
37
37
  *
38
38
  * Access Policy Action: `IAM:UpdateDeveloper`
39
39
  * Access Policy Resource: `IAM:Developer`
40
40
  */
41
41
  update(params: DeveloperUpdateParams, request?: OystehrClientRequest): Promise<DeveloperUpdateResponse> {
42
- return this.request('/developer/{id}', 'patch', this.baseUrlThunk.bind(this))(params, request);
42
+ return this.request('/developer/{id}', 'patch', this.#baseUrlThunk.bind(this))(params, request);
43
43
  }
44
44
  /**
45
- * Remove the Developer with the provided ID from the project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/services/project/). [Developers](https://docs.oystehr.com/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
45
+ * Remove the Developer with the provided ID from the project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/oystehr/services/project/). [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
46
46
  *
47
47
  * Access Policy Action: `IAM:RemoveDeveloper`
48
48
  * Access Policy Resource: `IAM:Developer`
49
49
  */
50
50
  delete(params: DeveloperDeleteParams, request?: OystehrClientRequest): Promise<void> {
51
- return this.request('/developer/{id}', 'delete', this.baseUrlThunk.bind(this))(params, request);
51
+ return this.request('/developer/{id}', 'delete', this.#baseUrlThunk.bind(this))(params, request);
52
52
  }
53
53
  /**
54
- * Invite a new Developer to the Project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/services/project/). [Developers](https://docs.oystehr.com/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
54
+ * Invite a new Developer to the Project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/oystehr/services/project/). [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
55
55
  *
56
56
  * Access Policy Action: `IAM:InviteDeveloper`
57
57
  * Access Policy Resource: `IAM:Developer`
58
58
  */
59
59
  invite(params: DeveloperInviteParams, request?: OystehrClientRequest): Promise<DeveloperInviteResponse> {
60
- return this.request('/developer/invite', 'post', this.baseUrlThunk.bind(this))(params, request);
60
+ return this.request('/developer/invite', 'post', this.#baseUrlThunk.bind(this))(params, request);
61
61
  }
62
62
  /**
63
63
  * DEPRECATED. Please use [v2/list](https://api-reference.oystehr.com/reference/get_developer-v2-list) instead.
64
64
  *
65
- * Get a list of all Developers who are part of the Project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/services/project/). [Developers](https://docs.oystehr.com/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
65
+ * Get a list of all Developers who are part of the Project. Developer accounts are used to log into the [Developer Console](https://console.oystehr.com/) and administrate [Projects](https://docs.oystehr.com/oystehr/services/project/). [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/) are the only people who can belong to and act across multiple Projects, because they exist above the Project level.
66
66
  *
67
67
  * Access Policy Action: `IAM:ListAllDevelopers`
68
68
  * Access Policy Resource: `IAM:Developer`
69
69
  */
70
70
  list(request?: OystehrClientRequest): Promise<DeveloperListResponse> {
71
- return this.request('/developer', 'get', this.baseUrlThunk.bind(this))(request);
71
+ return this.request('/developer', 'get', this.#baseUrlThunk.bind(this))(request);
72
72
  }
73
+ /**
74
+ * Get Developers in the Project with pagination, sort, sort Order and filtering. [Users](https://docs.oystehr.com/oystehr/services/app/users/) are the people who log into the [Applications](https://docs.oystehr.com/oystehr/services/app/applications/) you configure for securing the apps you build on top of Oystehr.
75
+ *
76
+ * Access Policy Action: `Project:ListAllUsers`
77
+ * Access Policy Resource: `Project:Settings`
78
+ */
79
+ listV2(params: DeveloperListV2Params, request?: OystehrClientRequest): Promise<DeveloperListV2Response>;
80
+ /**
81
+ * Get Developers in the Project with pagination, sort, sort Order and filtering. [Users](https://docs.oystehr.com/services/app/users/) are the people who log into the [Applications](https://docs.oystehr.com/services/app/applications/) you configure for securing the apps you build on top of Oystehr.
82
+ *
83
+ * Access Policy Action: `Project:ListAllUsers`
84
+ * Access Policy Resource: `Project:Settings`
85
+ */
86
+ listV2(request?: OystehrClientRequest): Promise<DeveloperListV2Response>;
73
87
  /**
74
88
  * Get Developers in the Project with pagination, sort, sort Order and filtering. [Users](https://docs.oystehr.com/services/app/users/) are the people who log into the [Applications](https://docs.oystehr.com/services/app/applications/) you configure for securing the apps you build on top of Oystehr.
75
89
  *
76
90
  * Access Policy Action: `Project:ListAllUsers`
77
91
  * Access Policy Resource: `Project:Settings`
78
92
  */
79
- listV2(params: DeveloperListV2Params, request?: OystehrClientRequest): Promise<DeveloperListV2Response> {
80
- return this.request('/developer/v2/list', 'get', this.baseUrlThunk.bind(this))(params, request);
93
+ listV2(
94
+ params?: DeveloperListV2Params | OystehrClientRequest,
95
+ request?: OystehrClientRequest
96
+ ): Promise<DeveloperListV2Response> {
97
+ return this.request('/developer/v2/list', 'get', this.#baseUrlThunk.bind(this))(params, request);
81
98
  }
82
99
  }
@@ -22,26 +22,26 @@ export class Erx extends SDKResource {
22
22
  constructor(config: OystehrConfig) {
23
23
  super(config);
24
24
  }
25
- baseUrlThunk(): string {
25
+ #baseUrlThunk(): string {
26
26
  return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
27
27
  }
28
28
  /**
29
29
  * Retrieve patient properties from FHIR service and sync them with eRx service
30
30
  */
31
31
  syncPatient(params: ErxSyncPatientParams, request?: OystehrClientRequest): Promise<ErxSyncPatientResponse> {
32
- return this.request('/erx/sync-patient/{patientId}', 'post', this.baseUrlThunk.bind(this))(params, request);
32
+ return this.request('/erx/sync-patient/{patientId}', 'post', this.#baseUrlThunk.bind(this))(params, request);
33
33
  }
34
34
  /**
35
35
  * Search for allergies
36
36
  */
37
37
  allergySearch(params: ErxAllergySearchParams, request?: OystehrClientRequest): Promise<ErxAllergySearchResponse> {
38
- return this.request('/erx/allergy/search', 'get', this.baseUrlThunk.bind(this))(params, request);
38
+ return this.request('/erx/allergy/search', 'get', this.#baseUrlThunk.bind(this))(params, request);
39
39
  }
40
40
  /**
41
41
  * Cancel photon order
42
42
  */
43
43
  cancelOrder(params: ErxCancelOrderParams, request?: OystehrClientRequest): Promise<ErxCancelOrderResponse> {
44
- return this.request('/erx/cancel-order', 'post', this.baseUrlThunk.bind(this))(params, request);
44
+ return this.request('/erx/cancel-order', 'post', this.#baseUrlThunk.bind(this))(params, request);
45
45
  }
46
46
  /**
47
47
  * Cancel photon prescription
@@ -50,7 +50,7 @@ export class Erx extends SDKResource {
50
50
  params: ErxCancelPrescriptionParams,
51
51
  request?: OystehrClientRequest
52
52
  ): Promise<ErxCancelPrescriptionResponse> {
53
- return this.request('/erx/cancel-prescription', 'post', this.baseUrlThunk.bind(this))(params, request);
53
+ return this.request('/erx/cancel-prescription', 'post', this.#baseUrlThunk.bind(this))(params, request);
54
54
  }
55
55
  /**
56
56
  * Search for medications. Provide at least one of code or name filters
@@ -58,8 +58,19 @@ export class Erx extends SDKResource {
58
58
  medicationSearch(
59
59
  params: ErxMedicationSearchParams,
60
60
  request?: OystehrClientRequest
61
+ ): Promise<ErxMedicationSearchResponse>;
62
+ /**
63
+ * Search for medications. Provide at least one of code or name filters
64
+ */
65
+ medicationSearch(request?: OystehrClientRequest): Promise<ErxMedicationSearchResponse>;
66
+ /**
67
+ * Search for medications. Provide at least one of code or name filters
68
+ */
69
+ medicationSearch(
70
+ params?: ErxMedicationSearchParams | OystehrClientRequest,
71
+ request?: OystehrClientRequest
61
72
  ): Promise<ErxMedicationSearchResponse> {
62
- return this.request('/erx/medication/search', 'get', this.baseUrlThunk.bind(this))(params, request);
73
+ return this.request('/erx/medication/search', 'get', this.#baseUrlThunk.bind(this))(params, request);
63
74
  }
64
75
  /**
65
76
  * Search for medications. Provide at least one of code or name filters
@@ -67,7 +78,18 @@ export class Erx extends SDKResource {
67
78
  medicationSearchV2(
68
79
  params: ErxMedicationSearchV2Params,
69
80
  request?: OystehrClientRequest
81
+ ): Promise<ErxMedicationSearchV2Response>;
82
+ /**
83
+ * Search for medications. Provide at least one of code or name filters
84
+ */
85
+ medicationSearchV2(request?: OystehrClientRequest): Promise<ErxMedicationSearchV2Response>;
86
+ /**
87
+ * Search for medications. Provide at least one of code or name filters
88
+ */
89
+ medicationSearchV2(
90
+ params?: ErxMedicationSearchV2Params | OystehrClientRequest,
91
+ request?: OystehrClientRequest
70
92
  ): Promise<ErxMedicationSearchV2Response> {
71
- return this.request('/erx/v2/medication/search', 'get', this.baseUrlThunk.bind(this))(params, request);
93
+ return this.request('/erx/v2/medication/search', 'get', this.#baseUrlThunk.bind(this))(params, request);
72
94
  }
73
95
  }
@@ -8,37 +8,37 @@ export class Fax extends SDKResource {
8
8
  constructor(config: OystehrConfig) {
9
9
  super(config);
10
10
  }
11
- baseUrlThunk(): string {
11
+ #baseUrlThunk(): string {
12
12
  return this.config.services?.['faxApiUrl'] ?? 'https://fax-api.zapehr.com/v1';
13
13
  }
14
14
  /**
15
- * Offboard a fax number. Oystehr's [offboard](https://docs.oystehr.com/services/fax/number/) feature makes it easy to stop using the fax service and release the project's assigned fax number with a single API call. Please note there is no way to guarantee getting the same number back again, so if you think this can break your project in any way we recommend not offboarding and avoid sending faxes until you're sure.
15
+ * Offboard a fax number. Oystehr's [offboard](https://docs.oystehr.com/oystehr/services/fax/number/) feature makes it easy to stop using the fax service and release the project's assigned fax number with a single API call. Please note there is no way to guarantee getting the same number back again, so if you think this can break your project in any way we recommend not offboarding and avoid sending faxes until you're sure.
16
16
  *
17
17
  * Access Policy Requirements:
18
18
  * Action: `Fax:Offboard`
19
19
  * Access Policy Resource: `Fax:Number`
20
20
  */
21
21
  offboard(request?: OystehrClientRequest): Promise<void> {
22
- return this.request('/offboard', 'post', this.baseUrlThunk.bind(this))(request);
22
+ return this.request('/offboard', 'post', this.#baseUrlThunk.bind(this))(request);
23
23
  }
24
24
  /**
25
- * Onboard a fax number. Oystehr's [onboard](https://docs.oystehr.com/services/fax/number/) feature makes it easy to start using the fax service and purchase a new fax number for your project with a single API call.
25
+ * Onboard a fax number. Oystehr's [onboard](https://docs.oystehr.com/oystehr/services/fax/number/) feature makes it easy to start using the fax service and purchase a new fax number for your project with a single API call.
26
26
  *
27
27
  * Access Policy Requirements:
28
28
  * Action: `Fax:Onboard`
29
29
  * Access Policy Resource: `Fax:Number`
30
30
  */
31
31
  onboard(request?: OystehrClientRequest): Promise<void> {
32
- return this.request('/onboard', 'post', this.baseUrlThunk.bind(this))(request);
32
+ return this.request('/onboard', 'post', this.#baseUrlThunk.bind(this))(request);
33
33
  }
34
34
  /**
35
- * Send a fax. Oystehr's [fax sending](https://docs.oystehr.com/services/fax/send/) feature makes it easy to send a fax to a chosen recipient with a single API call. You can use this feature to send referrals, medical records, prescriptions, and other documents that require fax transmission e.g. for HIPAA compliance.
35
+ * Send a fax. Oystehr's [fax sending](https://docs.oystehr.com/oystehr/services/fax/send/) feature makes it easy to send a fax to a chosen recipient with a single API call. You can use this feature to send referrals, medical records, prescriptions, and other documents that require fax transmission e.g. for HIPAA compliance.
36
36
  *
37
37
  * Access Policy Requirements:
38
38
  * Action: `Fax:Send`
39
39
  * Access Policy Resource: `Fax:Fax`
40
40
  */
41
41
  send(params: FaxSendParams, request?: OystehrClientRequest): Promise<FaxSendResponse> {
42
- return this.request('/send', 'post', this.baseUrlThunk.bind(this))(params, request);
42
+ return this.request('/send', 'post', this.#baseUrlThunk.bind(this))(params, request);
43
43
  }
44
44
  }
@@ -8,7 +8,7 @@ export class Fhir extends SDKResource {
8
8
  constructor(config: OystehrConfig) {
9
9
  super(config);
10
10
  }
11
- baseUrlThunk(): string {
11
+ #baseUrlThunk(): string {
12
12
  return this.config.services?.['fhirApiUrl'] ?? 'https://fhir-api.zapehr.com';
13
13
  }
14
14
  /**
@@ -49,8 +49,8 @@ export class Oystehr {
49
49
  constructor(config: OystehrConfig) {
50
50
  this.config = config;
51
51
  this.config.services ??= {};
52
- this.config.services.projectApiUrl ??= config.projectApiUrl;
53
- this.config.services.fhirApiUrl ??= config.fhirApiUrl;
52
+ this.config.services['projectApiUrl'] ??= config.projectApiUrl;
53
+ this.config.services['fhirApiUrl'] ??= config.fhirApiUrl;
54
54
  this.application = new Application(config);
55
55
  this.developer = new Developer(config);
56
56
  this.m2m = new M2m(config);