@oystehr/sdk 4.2.6 → 4.3.2

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 (86) hide show
  1. package/README.md +30 -1
  2. package/dist/cjs/client/client.cjs +35 -7
  3. package/dist/cjs/client/client.cjs.map +1 -1
  4. package/dist/cjs/config.d.ts +2 -0
  5. package/dist/cjs/index.min.cjs +1 -1
  6. package/dist/cjs/index.min.cjs.map +1 -1
  7. package/dist/cjs/resources/classes/fhir-ext.cjs +39 -10
  8. package/dist/cjs/resources/classes/fhir-ext.cjs.map +1 -1
  9. package/dist/cjs/resources/classes/fhir-ext.d.ts +8 -8
  10. package/dist/cjs/resources/classes/fhir.d.ts +2 -2
  11. package/dist/cjs/resources/classes/index.cjs +6 -6
  12. package/dist/cjs/resources/classes/index.cjs.map +1 -1
  13. package/dist/cjs/resources/classes/index.d.ts +3 -3
  14. package/dist/cjs/resources/classes/rcm.cjs +12 -15
  15. package/dist/cjs/resources/classes/rcm.cjs.map +1 -1
  16. package/dist/cjs/resources/classes/rcm.d.ts +9 -12
  17. package/dist/cjs/resources/classes/zambda.cjs +1 -1
  18. package/dist/cjs/resources/classes/zambda.cjs.map +1 -1
  19. package/dist/cjs/resources/classes/zambdaLogStream.cjs +1 -1
  20. package/dist/cjs/resources/classes/zambdaLogStream.cjs.map +1 -1
  21. package/dist/cjs/resources/types/RcmSetClaimStatusParams.d.ts +7 -0
  22. package/dist/cjs/resources/types/RcmSetClaimStatusResponse.d.ts +5 -0
  23. package/dist/cjs/resources/types/RcmSubmitClaimParams.d.ts +3 -0
  24. package/dist/cjs/resources/types/RcmSubmitClaimResponse.d.ts +5 -0
  25. package/dist/cjs/resources/types/ZambdaCreateParams.d.ts +1 -1
  26. package/dist/cjs/resources/types/ZambdaExecuteResult.d.ts +6 -0
  27. package/dist/cjs/resources/types/ZambdaUpdateParams.d.ts +1 -1
  28. package/dist/cjs/resources/types/fhir.d.ts +20 -0
  29. package/dist/cjs/resources/types/index.d.ts +29 -29
  30. package/dist/esm/client/client.js +35 -7
  31. package/dist/esm/client/client.js.map +1 -1
  32. package/dist/esm/config.d.ts +2 -0
  33. package/dist/esm/index.min.js +1 -1
  34. package/dist/esm/index.min.js.map +1 -1
  35. package/dist/esm/resources/classes/fhir-ext.d.ts +8 -8
  36. package/dist/esm/resources/classes/fhir-ext.js +39 -10
  37. package/dist/esm/resources/classes/fhir-ext.js.map +1 -1
  38. package/dist/esm/resources/classes/fhir.d.ts +2 -2
  39. package/dist/esm/resources/classes/index.d.ts +3 -3
  40. package/dist/esm/resources/classes/index.js +6 -6
  41. package/dist/esm/resources/classes/index.js.map +1 -1
  42. package/dist/esm/resources/classes/rcm.d.ts +9 -12
  43. package/dist/esm/resources/classes/rcm.js +12 -15
  44. package/dist/esm/resources/classes/rcm.js.map +1 -1
  45. package/dist/esm/resources/classes/zambda.js +1 -1
  46. package/dist/esm/resources/classes/zambda.js.map +1 -1
  47. package/dist/esm/resources/classes/zambdaLogStream.js +1 -1
  48. package/dist/esm/resources/classes/zambdaLogStream.js.map +1 -1
  49. package/dist/esm/resources/types/RcmSetClaimStatusParams.d.ts +7 -0
  50. package/dist/esm/resources/types/RcmSetClaimStatusResponse.d.ts +5 -0
  51. package/dist/esm/resources/types/RcmSubmitClaimParams.d.ts +3 -0
  52. package/dist/esm/resources/types/RcmSubmitClaimResponse.d.ts +5 -0
  53. package/dist/esm/resources/types/ZambdaCreateParams.d.ts +1 -1
  54. package/dist/esm/resources/types/ZambdaExecuteResult.d.ts +6 -0
  55. package/dist/esm/resources/types/ZambdaUpdateParams.d.ts +1 -1
  56. package/dist/esm/resources/types/fhir.d.ts +20 -0
  57. package/dist/esm/resources/types/index.d.ts +29 -29
  58. package/package.json +2 -2
  59. package/src/client/client.ts +37 -6
  60. package/src/config.ts +2 -0
  61. package/src/resources/classes/fhir-ext.ts +69 -23
  62. package/src/resources/classes/index.ts +6 -6
  63. package/src/resources/classes/rcm.ts +16 -25
  64. package/src/resources/classes/zambda.ts +1 -1
  65. package/src/resources/classes/zambdaLogStream.ts +1 -1
  66. package/src/resources/types/RcmSetClaimStatusParams.ts +9 -0
  67. package/src/resources/types/RcmSetClaimStatusResponse.ts +7 -0
  68. package/src/resources/types/RcmSubmitClaimParams.ts +5 -0
  69. package/src/resources/types/RcmSubmitClaimResponse.ts +7 -0
  70. package/src/resources/types/ZambdaCreateParams.ts +1 -1
  71. package/src/resources/types/ZambdaExecuteResult.ts +6 -0
  72. package/src/resources/types/ZambdaUpdateParams.ts +1 -1
  73. package/src/resources/types/fhir.ts +13 -0
  74. package/src/resources/types/index.ts +29 -29
  75. package/dist/cjs/resources/types/RcmSubmitProfessionalClaimParams.d.ts +0 -10
  76. package/dist/cjs/resources/types/RcmSubmitProfessionalClaimResponse.d.ts +0 -5
  77. package/dist/cjs/resources/types/RcmValidateProfessionalClaimParams.d.ts +0 -6
  78. package/dist/cjs/resources/types/RcmValidateProfessionalClaimResponse.d.ts +0 -21
  79. package/dist/esm/resources/types/RcmSubmitProfessionalClaimParams.d.ts +0 -10
  80. package/dist/esm/resources/types/RcmSubmitProfessionalClaimResponse.d.ts +0 -5
  81. package/dist/esm/resources/types/RcmValidateProfessionalClaimParams.d.ts +0 -6
  82. package/dist/esm/resources/types/RcmValidateProfessionalClaimResponse.d.ts +0 -21
  83. package/src/resources/types/RcmSubmitProfessionalClaimParams.ts +0 -13
  84. package/src/resources/types/RcmSubmitProfessionalClaimResponse.ts +0 -7
  85. package/src/resources/types/RcmValidateProfessionalClaimParams.ts +0 -9
  86. package/src/resources/types/RcmValidateProfessionalClaimResponse.ts +0 -23
@@ -41,7 +41,7 @@ async function search(params, request) {
41
41
  ...requestBundle,
42
42
  entry: requestBundle.entry,
43
43
  unbundle: function () {
44
- return this.entry?.map((entry) => entry.resource).filter((entry) => entry !== undefined) ?? [];
44
+ return (this.entry?.map((entry) => entry.resource).filter((resource) => resource !== undefined) ?? []);
45
45
  },
46
46
  };
47
47
  return bundle;
@@ -165,17 +165,46 @@ function batchInputRequestToBundleEntryItem(request) {
165
165
  // }
166
166
  throw new Error('Unrecognized method');
167
167
  }
168
- function bundleRequest(type) {
169
- return async function (input, request) {
170
- return this.fhirRequest('/', 'POST')({
171
- resourceType: 'Bundle',
172
- type,
173
- entry: input.requests.map(batchInputRequestToBundleEntryItem),
174
- }, request);
168
+ async function batch(input, request) {
169
+ const resp = await this.fhirRequest('/', 'POST')({
170
+ resourceType: 'Bundle',
171
+ type: 'batch',
172
+ entry: input.requests.map(batchInputRequestToBundleEntryItem),
173
+ }, request);
174
+ const bundle = {
175
+ ...resp,
176
+ entry: resp.entry,
177
+ unbundle: function () {
178
+ return (this.entry
179
+ ?.map((entry) => entry.resource)
180
+ .filter((resource) => resource !== undefined) ?? []);
181
+ },
182
+ errors: function () {
183
+ return this.entry
184
+ ?.filter((entry) => entry.response?.status?.startsWith('4') || entry.response?.status?.startsWith('5'))
185
+ .map((entry) => entry.response?.outcome)
186
+ .filter((outcome) => outcome !== undefined);
187
+ },
175
188
  };
189
+ return bundle;
190
+ }
191
+ async function transaction(input, request) {
192
+ const resp = await this.fhirRequest('/', 'POST')({
193
+ resourceType: 'Bundle',
194
+ type: 'transaction',
195
+ entry: input.requests.map(batchInputRequestToBundleEntryItem),
196
+ }, request);
197
+ const bundle = {
198
+ ...resp,
199
+ entry: resp.entry,
200
+ unbundle: function () {
201
+ return (this.entry
202
+ ?.map((entry) => entry.resource)
203
+ .filter((resource) => resource !== undefined) ?? []);
204
+ },
205
+ };
206
+ return bundle;
176
207
  }
177
- const batch = bundleRequest('batch');
178
- const transaction = bundleRequest('transaction');
179
208
  function formatAddress(address, options) {
180
209
  const builder = [];
181
210
  if (address.line) {
@@ -1 +1 @@
1
- {"version":3,"file":"fhir-ext.cjs","sources":["../../../../src/resources/classes/fhir-ext.ts"],"sourcesContent":["import { Address as AddressR4B, HumanName as HumanNameR4B } from 'fhir/r4b';\nimport { Address as AddressR5, HumanName as HumanNameR5 } from 'fhir/r5';\nimport {\n BatchInput,\n BatchInputRequest,\n Binary,\n Bundle,\n BundleEntry,\n FhirBundle,\n FhirCreateParams,\n FhirDeleteParams,\n FhirGetParams,\n FhirHistoryGetParams,\n FhirHistorySearchParams,\n FhirPatchParams,\n FhirResource,\n FhirSearchParams,\n FhirUpdateParams,\n} from '../..';\nimport { addParamsToSearch, FhirFetcherResponse, OystehrClientRequest, SDKResource } from '../../client/client';\n\n// Code adapted from https://github.com/sindresorhus/uint8array-extras\nconst MAX_BLOCK_SIZE = 65_535;\nfunction stringToBase64(input: string): string {\n const data: Uint8Array<ArrayBuffer> = new globalThis.TextEncoder().encode(input);\n let base64 = '';\n\n for (let index = 0; index < data.length; index += MAX_BLOCK_SIZE) {\n const chunk = data.subarray(index, index + MAX_BLOCK_SIZE);\n // Required as `btoa` and `atob` don't properly support Unicode: https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n base64 += globalThis.btoa(String.fromCodePoint.apply(undefined, chunk as unknown as number[]));\n }\n return base64;\n}\n\n/**\n * Optional parameter that can be passed to the client methods. It allows\n * overriding the access token or project ID, and setting various headers,\n * such as 'Content-Type'. Also support enabling optimistic locking.\n */\nexport interface OystehrFHIRUpdateClientRequest extends OystehrClientRequest {\n /**\n * Enable optimistic locking for the request. If set to a version ID, the request will\n * include the 'If-Match' header with that value in the FHIR optimistic-locking format.\n * If the resource has been updated since the version provided, the request\n * will fail with a 412 Precondition Failed error.\n */\n optimisticLockingVersionId?: string;\n}\n\n/**\n * Performs a FHIR search and returns the results as a Bundle resource\n *\n * @param options FHIR resource type and FHIR search parameters\n * @param request optional OystehrClientRequest object\n * @returns FHIR Bundle resource\n */\nexport async function search<T extends FhirResource>(\n this: SDKResource,\n params: FhirSearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>> {\n const { resourceType, params: searchParams } = params;\n let paramMap: Record<string, (string | number)[]> | undefined;\n if (searchParams) {\n paramMap = Object.entries(searchParams).reduce((acc, [_, param]) => {\n if (!acc[param.name]) {\n acc[param.name] = [];\n }\n acc[param.name].push(param.value);\n return acc;\n }, {} as Record<string, (string | number)[]>);\n }\n const requestBundle = await this.fhirRequest<FhirBundle<T>>(`/${resourceType}/_search`, 'POST')(paramMap, {\n ...request,\n contentType: 'application/x-www-form-urlencoded',\n });\n const bundle: Bundle<T> = {\n ...requestBundle,\n entry: requestBundle.entry as Array<BundleEntry<T>> | undefined,\n unbundle: function (this: { entry?: Array<BundleEntry<T>> | undefined }) {\n return this.entry?.map((entry) => entry.resource).filter((entry): entry is T => entry !== undefined) ?? [];\n },\n };\n return bundle;\n}\n\nexport async function create<T extends FhirResource>(\n this: SDKResource,\n params: FhirCreateParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<T>> {\n const { resourceType } = params;\n return this.fhirRequest(`/${resourceType}`, 'POST')(params as unknown as Record<string, unknown>, request);\n}\n\nexport async function get<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirGetParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<T>> {\n return this.fhirRequest<T>(`/${resourceType}/${id}`, 'GET')({}, request);\n}\n\nexport async function update<T extends FhirResource>(\n this: SDKResource,\n params: FhirUpdateParams<T>,\n request?: OystehrFHIRUpdateClientRequest\n): Promise<FhirFetcherResponse<T>> {\n const { id, resourceType } = params;\n return this.fhirRequest(`/${resourceType}/${id}`, 'PUT')(params as unknown as Record<string, unknown>, {\n ...request,\n ifMatch: request?.optimisticLockingVersionId ? `W/\"${request.optimisticLockingVersionId}\"` : undefined,\n });\n}\n\nexport async function patch<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, operations }: FhirPatchParams<T>,\n request?: OystehrFHIRUpdateClientRequest\n): Promise<FhirFetcherResponse<T>> {\n return this.fhirRequest(`/${resourceType}/${id}`, 'PATCH')(operations, {\n ...request,\n contentType: 'application/json-patch+json',\n ifMatch: request?.optimisticLockingVersionId ? `W/\"${request.optimisticLockingVersionId}\"` : undefined,\n });\n}\n\nasync function del<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirDeleteParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<T>> {\n return this.fhirRequest(`/${resourceType}/${id}`, 'DELETE')({}, request);\n}\nexport { del as delete };\n\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirHistorySearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, versionId }: FhirHistoryGetParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<T>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, count, offset }: FhirHistorySearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n {\n resourceType,\n id,\n versionId,\n count,\n offset,\n }: { resourceType: string; id: string; versionId?: string; count?: number; offset?: number },\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>> | FhirFetcherResponse<T>> {\n if (versionId) {\n return this.fhirRequest(`/${resourceType}/${id}/_history/${versionId}`, 'GET')({}, request);\n }\n if (count) {\n return this.fhirRequest(\n `/${resourceType}/${id}/_history?_total=accurate&_count=${count}\n ${offset ? `&_offset=${offset}` : ''}`,\n 'GET'\n )({}, request);\n }\n return this.fhirRequest(`/${resourceType}/${id}/_history?_total=accurate`, 'GET')({}, request);\n}\n\nfunction batchInputRequestToBundleEntryItem<T extends FhirResource>(\n request: BatchInputRequest<T>\n): BundleEntry<T | Binary<T>> {\n const { method, url } = request;\n const baseRequest = {\n request: {\n method,\n url,\n },\n };\n\n // Escape query string parameters in entry.request.url\n if (url.split('?').length > 1) {\n const [resource, query] = url.split('?');\n const params = query\n .split('&')\n .map((param) => {\n const [name, value] = param.split('=');\n return { name, value };\n })\n .reduce((acc, { name, value }) => {\n if (!name) {\n return acc;\n }\n if (!acc[name]) {\n acc[name] = [];\n }\n acc[name].push(value);\n return acc;\n }, {} as Record<string, string[]>);\n const search = new URLSearchParams();\n addParamsToSearch(params, search);\n baseRequest.request.url = `${resource}?${search.toString()}`;\n }\n\n // GET, DELETE, and HEAD require no further parameters\n if (['GET', 'DELETE', 'HEAD'].includes(method)) {\n return baseRequest as BundleEntry<T>;\n }\n\n // PUT updates require a full resource\n if (method === 'PUT') {\n const { resource } = request;\n return {\n request: {\n ...baseRequest.request,\n ifMatch: request.ifMatch,\n },\n resource: resource as T,\n } as BundleEntry<T>;\n }\n\n // PATCH can be Binary resource or JSON patch\n if (method === 'PATCH') {\n if ('resource' in request) {\n return {\n request: {\n ...baseRequest.request,\n ifMatch: request.ifMatch,\n },\n resource: request.resource,\n } as BundleEntry<Binary<T>>;\n }\n const data = stringToBase64(JSON.stringify(request.operations));\n return {\n ...baseRequest,\n resource: {\n resourceType: 'Binary',\n contentType: 'application/json-patch+json',\n data,\n },\n } as BundleEntry<Binary<T>>;\n }\n\n // POST creates require a full resource\n if (method === 'POST') {\n const { resource, fullUrl } = request;\n return {\n ...baseRequest,\n resource: resource as T,\n fullUrl,\n } as BundleEntry<T>;\n }\n\n // // Add ifMatch for the entries that support it\n // if ('ifMatch' in request) {\n // baseRequest.request = {\n // ...baseRequest.request,\n // ifMatch: request.ifMatch,\n // };\n // }\n\n throw new Error('Unrecognized method');\n}\n\nfunction bundleRequest(type: 'batch' | 'transaction') {\n return async function <BundleContentType extends FhirResource>(\n this: SDKResource,\n input: BatchInput<BundleContentType>,\n request?: OystehrClientRequest\n ): Promise<FhirFetcherResponse<Bundle<BundleContentType>>> {\n return this.fhirRequest('/', 'POST')(\n {\n resourceType: 'Bundle',\n type,\n entry: input.requests.map(batchInputRequestToBundleEntryItem),\n },\n request\n );\n };\n}\n\nexport const batch = bundleRequest('batch');\nexport const transaction = bundleRequest('transaction');\n\nexport function formatAddress(\n address: AddressR4B | AddressR5,\n options?: { all?: boolean; use?: boolean; lineSeparator?: string }\n): string {\n const builder = [];\n\n if (address.line) {\n builder.push(...address.line);\n }\n\n if (address.city || address.state || address.postalCode) {\n const cityStateZip = [];\n if (address.city) {\n cityStateZip.push(address.city);\n }\n if (address.state) {\n cityStateZip.push(address.state);\n }\n if (address.postalCode) {\n cityStateZip.push(address.postalCode);\n }\n builder.push(cityStateZip.join(', '));\n }\n\n if (address.use && (options?.all || options?.use)) {\n builder.push('[' + address.use + ']');\n }\n\n return builder.join(options?.lineSeparator || ', ').trim();\n}\n\nexport function formatHumanName(\n name: HumanNameR4B | HumanNameR5,\n options?: {\n all?: boolean;\n prefix?: boolean;\n suffix?: boolean;\n use?: boolean;\n }\n): string {\n const builder = [];\n\n if (name.prefix && options?.prefix !== false) {\n builder.push(...name.prefix);\n }\n\n if (name.given) {\n builder.push(...name.given);\n }\n\n if (name.family) {\n builder.push(name.family);\n }\n\n if (name.suffix && options?.suffix !== false) {\n builder.push(...name.suffix);\n }\n\n if (name.use && (options?.all || options?.use)) {\n builder.push('[' + name.use + ']');\n }\n\n return builder.join(' ').trim();\n}\n"],"names":["addParamsToSearch"],"mappings":"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"}
1
+ {"version":3,"file":"fhir-ext.cjs","sources":["../../../../src/resources/classes/fhir-ext.ts"],"sourcesContent":["import { Address as AddressR4B, HumanName as HumanNameR4B } from 'fhir/r4b';\nimport { Address as AddressR5, HumanName as HumanNameR5 } from 'fhir/r5';\nimport {\n BatchBundle,\n BatchInput,\n BatchInputRequest,\n Binary,\n Bundle,\n BundleEntry,\n FhirBundle,\n FhirCreateParams,\n FhirDeleteParams,\n FhirGetParams,\n FhirHistoryGetParams,\n FhirHistorySearchParams,\n FhirPatchParams,\n FhirResource,\n FhirResourceReturnValue,\n FhirSearchParams,\n FhirUpdateParams,\n OperationOutcome,\n TransactionBundle,\n} from '../..';\nimport { addParamsToSearch, FhirFetcherResponse, OystehrClientRequest, SDKResource } from '../../client/client';\n\n// Code adapted from https://github.com/sindresorhus/uint8array-extras\nconst MAX_BLOCK_SIZE = 65_535;\nfunction stringToBase64(input: string): string {\n const data: Uint8Array<ArrayBuffer> = new globalThis.TextEncoder().encode(input);\n let base64 = '';\n\n for (let index = 0; index < data.length; index += MAX_BLOCK_SIZE) {\n const chunk = data.subarray(index, index + MAX_BLOCK_SIZE);\n // Required as `btoa` and `atob` don't properly support Unicode: https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n base64 += globalThis.btoa(String.fromCodePoint.apply(undefined, chunk as unknown as number[]));\n }\n return base64;\n}\n\n/**\n * Optional parameter that can be passed to the client methods. It allows\n * overriding the access token or project ID, and setting various headers,\n * such as 'Content-Type'. Also support enabling optimistic locking.\n */\nexport interface OystehrFHIRUpdateClientRequest extends OystehrClientRequest {\n /**\n * Enable optimistic locking for the request. If set to a version ID, the request will\n * include the 'If-Match' header with that value in the FHIR optimistic-locking format.\n * If the resource has been updated since the version provided, the request\n * will fail with a 412 Precondition Failed error.\n */\n optimisticLockingVersionId?: string;\n}\n\n/**\n * Performs a FHIR search and returns the results as a Bundle resource\n *\n * @param options FHIR resource type and FHIR search parameters\n * @param request optional OystehrClientRequest object\n * @returns FHIR Bundle resource\n */\nexport async function search<T extends FhirResource>(\n this: SDKResource,\n params: FhirSearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>> {\n const { resourceType, params: searchParams } = params;\n let paramMap: Record<string, (string | number)[]> | undefined;\n if (searchParams) {\n paramMap = Object.entries(searchParams).reduce((acc, [_, param]) => {\n if (!acc[param.name]) {\n acc[param.name] = [];\n }\n acc[param.name].push(param.value);\n return acc;\n }, {} as Record<string, (string | number)[]>);\n }\n const requestBundle = await this.fhirRequest<FhirBundle<T>>(`/${resourceType}/_search`, 'POST')(paramMap, {\n ...request,\n contentType: 'application/x-www-form-urlencoded',\n });\n const bundle: Bundle<T> = {\n ...requestBundle,\n entry: requestBundle.entry as Array<BundleEntry<T>> | undefined,\n unbundle: function (this: { entry?: Array<BundleEntry<T>> | undefined }) {\n return (\n this.entry?.map((entry) => entry.resource).filter((resource): resource is T => resource !== undefined) ?? []\n );\n },\n };\n return bundle;\n}\n\nexport async function create<T extends FhirResource>(\n this: SDKResource,\n params: FhirCreateParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>> {\n const { resourceType } = params;\n return this.fhirRequest(`/${resourceType}`, 'POST')(params as unknown as Record<string, unknown>, request);\n}\n\nexport async function get<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirGetParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>> {\n return this.fhirRequest<FhirResourceReturnValue<T>>(`/${resourceType}/${id}`, 'GET')({}, request);\n}\n\nexport async function update<T extends FhirResource>(\n this: SDKResource,\n params: FhirUpdateParams<T>,\n request?: OystehrFHIRUpdateClientRequest\n): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>> {\n const { id, resourceType } = params;\n return this.fhirRequest(`/${resourceType}/${id}`, 'PUT')(params as unknown as Record<string, unknown>, {\n ...request,\n ifMatch: request?.optimisticLockingVersionId ? `W/\"${request.optimisticLockingVersionId}\"` : undefined,\n });\n}\n\nexport async function patch<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, operations }: FhirPatchParams<T>,\n request?: OystehrFHIRUpdateClientRequest\n): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>> {\n return this.fhirRequest(`/${resourceType}/${id}`, 'PATCH')(operations, {\n ...request,\n contentType: 'application/json-patch+json',\n ifMatch: request?.optimisticLockingVersionId ? `W/\"${request.optimisticLockingVersionId}\"` : undefined,\n });\n}\n\nasync function del<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirDeleteParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>> {\n return this.fhirRequest(`/${resourceType}/${id}`, 'DELETE')({}, request);\n}\nexport { del as delete };\n\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id }: FhirHistorySearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, versionId }: FhirHistoryGetParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<T>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n { resourceType, id, count, offset }: FhirHistorySearchParams<T>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>>>;\nexport async function history<T extends FhirResource>(\n this: SDKResource,\n {\n resourceType,\n id,\n versionId,\n count,\n offset,\n }: { resourceType: string; id: string; versionId?: string; count?: number; offset?: number },\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<Bundle<T>> | FhirFetcherResponse<T>> {\n if (versionId) {\n return this.fhirRequest(`/${resourceType}/${id}/_history/${versionId}`, 'GET')({}, request);\n }\n if (count) {\n return this.fhirRequest(\n `/${resourceType}/${id}/_history?_total=accurate&_count=${count}\n ${offset ? `&_offset=${offset}` : ''}`,\n 'GET'\n )({}, request);\n }\n return this.fhirRequest(`/${resourceType}/${id}/_history?_total=accurate`, 'GET')({}, request);\n}\n\nfunction batchInputRequestToBundleEntryItem<T extends FhirResource>(\n request: BatchInputRequest<T>\n): BundleEntry<T | Binary<T>> {\n const { method, url } = request;\n const baseRequest = {\n request: {\n method,\n url,\n },\n };\n\n // Escape query string parameters in entry.request.url\n if (url.split('?').length > 1) {\n const [resource, query] = url.split('?');\n const params = query\n .split('&')\n .map((param) => {\n const [name, value] = param.split('=');\n return { name, value };\n })\n .reduce((acc, { name, value }) => {\n if (!name) {\n return acc;\n }\n if (!acc[name]) {\n acc[name] = [];\n }\n acc[name].push(value);\n return acc;\n }, {} as Record<string, string[]>);\n const search = new URLSearchParams();\n addParamsToSearch(params, search);\n baseRequest.request.url = `${resource}?${search.toString()}`;\n }\n\n // GET, DELETE, and HEAD require no further parameters\n if (['GET', 'DELETE', 'HEAD'].includes(method)) {\n return baseRequest as BundleEntry<T>;\n }\n\n // PUT updates require a full resource\n if (method === 'PUT') {\n const { resource } = request;\n return {\n request: {\n ...baseRequest.request,\n ifMatch: request.ifMatch,\n },\n resource: resource as T,\n } as BundleEntry<T>;\n }\n\n // PATCH can be Binary resource or JSON patch\n if (method === 'PATCH') {\n if ('resource' in request) {\n return {\n request: {\n ...baseRequest.request,\n ifMatch: request.ifMatch,\n },\n resource: request.resource,\n } as BundleEntry<Binary<T>>;\n }\n const data = stringToBase64(JSON.stringify(request.operations));\n return {\n ...baseRequest,\n resource: {\n resourceType: 'Binary',\n contentType: 'application/json-patch+json',\n data,\n },\n } as BundleEntry<Binary<T>>;\n }\n\n // POST creates require a full resource\n if (method === 'POST') {\n const { resource, fullUrl } = request;\n return {\n ...baseRequest,\n resource: resource as T,\n fullUrl,\n } as BundleEntry<T>;\n }\n\n // // Add ifMatch for the entries that support it\n // if ('ifMatch' in request) {\n // baseRequest.request = {\n // ...baseRequest.request,\n // ifMatch: request.ifMatch,\n // };\n // }\n\n throw new Error('Unrecognized method');\n}\n\nexport async function batch<BundleContentType extends FhirResource>(\n this: SDKResource,\n input: BatchInput<BundleContentType>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<BatchBundle<BundleContentType>>> {\n const resp = await this.fhirRequest('/', 'POST')(\n {\n resourceType: 'Bundle',\n type: 'batch',\n entry: input.requests.map(batchInputRequestToBundleEntryItem),\n },\n request\n );\n const bundle: BatchBundle<BundleContentType> = {\n ...resp,\n entry: resp.entry as Array<BundleEntry<BundleContentType>> | undefined,\n unbundle: function (this: { entry?: Array<BundleEntry<BundleContentType>> | undefined }) {\n return (\n this.entry\n ?.map((entry) => entry.resource)\n .filter((resource): resource is BundleContentType => resource !== undefined) ?? []\n );\n },\n errors: function (this: { entry?: Array<BundleEntry<BundleContentType>> | undefined }) {\n return this.entry\n ?.filter((entry) => entry.response?.status?.startsWith('4') || entry.response?.status?.startsWith('5'))\n .map((entry) => entry.response?.outcome)\n .filter((outcome): outcome is OperationOutcome => outcome !== undefined);\n },\n };\n return bundle;\n}\n\nexport async function transaction<BundleContentType extends FhirResource>(\n this: SDKResource,\n input: BatchInput<BundleContentType>,\n request?: OystehrClientRequest\n): Promise<FhirFetcherResponse<TransactionBundle<BundleContentType>>> {\n const resp = await this.fhirRequest('/', 'POST')(\n {\n resourceType: 'Bundle',\n type: 'transaction',\n entry: input.requests.map(batchInputRequestToBundleEntryItem),\n },\n request\n );\n const bundle: TransactionBundle<BundleContentType> = {\n ...resp,\n entry: resp.entry as Array<BundleEntry<BundleContentType>> | undefined,\n unbundle: function (this: { entry?: Array<BundleEntry<BundleContentType>> | undefined }) {\n return (\n this.entry\n ?.map((entry) => entry.resource)\n .filter((resource): resource is BundleContentType => resource !== undefined) ?? []\n );\n },\n };\n return bundle;\n}\n\nexport function formatAddress(\n address: AddressR4B | AddressR5,\n options?: { all?: boolean; use?: boolean; lineSeparator?: string }\n): string {\n const builder = [];\n\n if (address.line) {\n builder.push(...address.line);\n }\n\n if (address.city || address.state || address.postalCode) {\n const cityStateZip = [];\n if (address.city) {\n cityStateZip.push(address.city);\n }\n if (address.state) {\n cityStateZip.push(address.state);\n }\n if (address.postalCode) {\n cityStateZip.push(address.postalCode);\n }\n builder.push(cityStateZip.join(', '));\n }\n\n if (address.use && (options?.all || options?.use)) {\n builder.push('[' + address.use + ']');\n }\n\n return builder.join(options?.lineSeparator || ', ').trim();\n}\n\nexport function formatHumanName(\n name: HumanNameR4B | HumanNameR5,\n options?: {\n all?: boolean;\n prefix?: boolean;\n suffix?: boolean;\n use?: boolean;\n }\n): string {\n const builder = [];\n\n if (name.prefix && options?.prefix !== false) {\n builder.push(...name.prefix);\n }\n\n if (name.given) {\n builder.push(...name.given);\n }\n\n if (name.family) {\n builder.push(name.family);\n }\n\n if (name.suffix && options?.suffix !== false) {\n builder.push(...name.suffix);\n }\n\n if (name.use && (options?.all || options?.use)) {\n builder.push('[' + name.use + ']');\n }\n\n return builder.join(' ').trim();\n}\n"],"names":["addParamsToSearch"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Address as AddressR4B, HumanName as HumanNameR4B } from 'fhir/r4b';
2
2
  import { Address as AddressR5, HumanName as HumanNameR5 } from 'fhir/r5';
3
- import { BatchInput, Bundle, FhirCreateParams, FhirDeleteParams, FhirGetParams, FhirHistoryGetParams, FhirHistorySearchParams, FhirPatchParams, FhirResource, FhirSearchParams, FhirUpdateParams } from '../..';
3
+ import { BatchBundle, BatchInput, Bundle, FhirCreateParams, FhirDeleteParams, FhirGetParams, FhirHistoryGetParams, FhirHistorySearchParams, FhirPatchParams, FhirResource, FhirResourceReturnValue, FhirSearchParams, FhirUpdateParams, TransactionBundle } from '../..';
4
4
  import { FhirFetcherResponse, OystehrClientRequest, SDKResource } from '../../client/client';
5
5
  /**
6
6
  * Optional parameter that can be passed to the client methods. It allows
@@ -24,17 +24,17 @@ export interface OystehrFHIRUpdateClientRequest extends OystehrClientRequest {
24
24
  * @returns FHIR Bundle resource
25
25
  */
26
26
  export declare function search<T extends FhirResource>(this: SDKResource, params: FhirSearchParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<Bundle<T>>>;
27
- export declare function create<T extends FhirResource>(this: SDKResource, params: FhirCreateParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<T>>;
28
- export declare function get<T extends FhirResource>(this: SDKResource, { resourceType, id }: FhirGetParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<T>>;
29
- export declare function update<T extends FhirResource>(this: SDKResource, params: FhirUpdateParams<T>, request?: OystehrFHIRUpdateClientRequest): Promise<FhirFetcherResponse<T>>;
30
- export declare function patch<T extends FhirResource>(this: SDKResource, { resourceType, id, operations }: FhirPatchParams<T>, request?: OystehrFHIRUpdateClientRequest): Promise<FhirFetcherResponse<T>>;
31
- declare function del<T extends FhirResource>(this: SDKResource, { resourceType, id }: FhirDeleteParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<T>>;
27
+ export declare function create<T extends FhirResource>(this: SDKResource, params: FhirCreateParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>>;
28
+ export declare function get<T extends FhirResource>(this: SDKResource, { resourceType, id }: FhirGetParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>>;
29
+ export declare function update<T extends FhirResource>(this: SDKResource, params: FhirUpdateParams<T>, request?: OystehrFHIRUpdateClientRequest): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>>;
30
+ export declare function patch<T extends FhirResource>(this: SDKResource, { resourceType, id, operations }: FhirPatchParams<T>, request?: OystehrFHIRUpdateClientRequest): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>>;
31
+ declare function del<T extends FhirResource>(this: SDKResource, { resourceType, id }: FhirDeleteParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<FhirResourceReturnValue<T>>>;
32
32
  export { del as delete };
33
33
  export declare function history<T extends FhirResource>(this: SDKResource, { resourceType, id }: FhirHistorySearchParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<Bundle<T>>>;
34
34
  export declare function history<T extends FhirResource>(this: SDKResource, { resourceType, id, versionId }: FhirHistoryGetParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<T>>;
35
35
  export declare function history<T extends FhirResource>(this: SDKResource, { resourceType, id, count, offset }: FhirHistorySearchParams<T>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<Bundle<T>>>;
36
- export declare const batch: <BundleContentType extends FhirResource>(this: SDKResource, input: BatchInput<BundleContentType>, request?: OystehrClientRequest) => Promise<FhirFetcherResponse<Bundle<BundleContentType>>>;
37
- export declare const transaction: <BundleContentType extends FhirResource>(this: SDKResource, input: BatchInput<BundleContentType>, request?: OystehrClientRequest) => Promise<FhirFetcherResponse<Bundle<BundleContentType>>>;
36
+ export declare function batch<BundleContentType extends FhirResource>(this: SDKResource, input: BatchInput<BundleContentType>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<BatchBundle<BundleContentType>>>;
37
+ export declare function transaction<BundleContentType extends FhirResource>(this: SDKResource, input: BatchInput<BundleContentType>, request?: OystehrClientRequest): Promise<FhirFetcherResponse<TransactionBundle<BundleContentType>>>;
38
38
  export declare function formatAddress(address: AddressR4B | AddressR5, options?: {
39
39
  all?: boolean;
40
40
  use?: boolean;
@@ -17,8 +17,8 @@ export declare class Fhir extends SDKResource {
17
17
  patch: typeof ext.patch;
18
18
  delete: typeof ext.delete;
19
19
  history: typeof ext.history;
20
- batch: <BundleContentType extends import("..").FhirResource>(this: SDKResource, input: import("..").BatchInput<BundleContentType>, request?: import("../..").OystehrClientRequest) => Promise<import("../../client/client").FhirFetcherResponse<import("..").Bundle<BundleContentType>>>;
21
- transaction: <BundleContentType extends import("..").FhirResource>(this: SDKResource, input: import("..").BatchInput<BundleContentType>, request?: import("../..").OystehrClientRequest) => Promise<import("../../client/client").FhirFetcherResponse<import("..").Bundle<BundleContentType>>>;
20
+ batch: typeof ext.batch;
21
+ transaction: typeof ext.transaction;
22
22
  formatAddress: typeof ext.formatAddress;
23
23
  formatHumanName: typeof ext.formatHumanName;
24
24
  }
@@ -36,19 +36,19 @@ let Oystehr$1 = class Oystehr {
36
36
  paymentMethod;
37
37
  charge;
38
38
  project;
39
- rcm;
40
39
  role;
41
40
  secret;
42
41
  telemed;
43
42
  user;
44
43
  version;
45
44
  z3;
46
- zambda;
47
- zambdaLogStream;
48
45
  fax;
49
46
  lab;
50
47
  erx;
48
+ rcm;
51
49
  terminology;
50
+ zambda;
51
+ zambdaLogStream;
52
52
  fhir;
53
53
  constructor(config) {
54
54
  this.config = config;
@@ -64,19 +64,19 @@ let Oystehr$1 = class Oystehr {
64
64
  this.paymentMethod = new paymentMethod.PaymentMethod(config);
65
65
  this.charge = new charge.Charge(config);
66
66
  this.project = new project.Project(config);
67
- this.rcm = new rcm.Rcm(config);
68
67
  this.role = new role.Role(config);
69
68
  this.secret = new secret.Secret(config);
70
69
  this.telemed = new telemed.Telemed(config);
71
70
  this.user = new user.User(config);
72
71
  this.version = new version.Version(config);
73
72
  this.z3 = new z3.Z3(config);
74
- this.zambda = new zambda.Zambda(config);
75
- this.zambdaLogStream = new zambdaLogStream.ZambdaLogStream(config);
76
73
  this.fax = new fax.Fax(config);
77
74
  this.lab = new lab.Lab(config);
78
75
  this.erx = new erx.Erx(config);
76
+ this.rcm = new rcm.Rcm(config);
79
77
  this.terminology = new terminology.Terminology(config);
78
+ this.zambda = new zambda.Zambda(config);
79
+ this.zambdaLogStream = new zambdaLogStream.ZambdaLogStream(config);
80
80
  this.fhir = new fhir.Fhir(config);
81
81
  }
82
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../src/resources/classes/index.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport { OystehrConfig } from '../../config';\nimport { Application } from './application';\nimport { Charge } from './charge';\nimport { Conversation } from './conversation';\nimport { Developer } from './developer';\nimport { Erx } from './erx';\nimport { Fax } from './fax';\nimport { Fhir } from './fhir';\nimport { Lab } from './lab';\nimport { M2m } from './m2m';\nimport { Messaging } from './messaging';\nimport { PaymentMethod } from './paymentMethod';\nimport { Project } from './project';\nimport { Rcm } from './rcm';\nimport { Role } from './role';\nimport { Secret } from './secret';\nimport { Telemed } from './telemed';\nimport { Terminology } from './terminology';\nimport { TransactionalSMS } from './transactionalSMS';\nimport { User } from './user';\nimport { Version } from './version';\nimport { Z3 } from './z3';\nimport { Zambda } from './zambda';\nimport { ZambdaLogStream } from './zambdaLogStream';\n\nexport class Oystehr {\n readonly config: OystehrConfig;\n readonly application: Application;\n readonly developer: Developer;\n readonly m2m: M2m;\n readonly messaging: Messaging;\n readonly conversation: Conversation;\n readonly transactionalSMS: TransactionalSMS;\n readonly paymentMethod: PaymentMethod;\n readonly charge: Charge;\n readonly project: Project;\n readonly rcm: Rcm;\n readonly role: Role;\n readonly secret: Secret;\n readonly telemed: Telemed;\n readonly user: User;\n readonly version: Version;\n readonly z3: Z3;\n readonly zambda: Zambda;\n readonly zambdaLogStream: ZambdaLogStream;\n readonly fax: Fax;\n readonly lab: Lab;\n readonly erx: Erx;\n readonly terminology: Terminology;\n readonly fhir: Fhir;\n constructor(config: OystehrConfig) {\n this.config = config;\n this.config.services ??= {};\n this.config.services['projectApiUrl'] ??= config.projectApiUrl;\n this.config.services['fhirApiUrl'] ??= config.fhirApiUrl;\n this.application = new Application(config);\n this.developer = new Developer(config);\n this.m2m = new M2m(config);\n this.messaging = new Messaging(config);\n this.conversation = new Conversation(config);\n this.transactionalSMS = new TransactionalSMS(config);\n this.paymentMethod = new PaymentMethod(config);\n this.charge = new Charge(config);\n this.project = new Project(config);\n this.rcm = new Rcm(config);\n this.role = new Role(config);\n this.secret = new Secret(config);\n this.telemed = new Telemed(config);\n this.user = new User(config);\n this.version = new Version(config);\n this.z3 = new Z3(config);\n this.zambda = new Zambda(config);\n this.zambdaLogStream = new ZambdaLogStream(config);\n this.fax = new Fax(config);\n this.lab = new Lab(config);\n this.erx = new Erx(config);\n this.terminology = new Terminology(config);\n this.fhir = new Fhir(config);\n }\n}\n"],"names":["Application","Developer","M2m","Messaging","Conversation","TransactionalSMS","PaymentMethod","Charge","Project","Rcm","Role","Secret","Telemed","User","Version","Z3","Zambda","ZambdaLogStream","Fax","Lab","Erx","Terminology","Fhir"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;sBA2Ba,OAAO,CAAA;AACT,IAAA,MAAM;AACN,IAAA,WAAW;AACX,IAAA,SAAS;AACT,IAAA,GAAG;AACH,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,gBAAgB;AAChB,IAAA,aAAa;AACb,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,GAAG;AACH,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,IAAI;AACJ,IAAA,OAAO;AACP,IAAA,EAAE;AACF,IAAA,MAAM;AACN,IAAA,eAAe;AACf,IAAA,GAAG;AACH,IAAA,GAAG;AACH,IAAA,GAAG;AACH,IAAA,WAAW;AACX,IAAA,IAAI;AACb,IAAA,WAAA,CAAY,MAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,aAAa;QAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,UAAU;QACxD,IAAI,CAAC,WAAW,GAAG,IAAIA,uBAAW,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAIC,mBAAS,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAIC,mBAAS,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAIC,yBAAY,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAIC,iCAAgB,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAIC,2BAAa,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,EAAE,GAAG,IAAIC,KAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAIC,+BAAe,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAIC,uBAAW,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;IAC9B;AACD;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/resources/classes/index.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport { OystehrConfig } from '../../config';\nimport { Application } from './application';\nimport { Charge } from './charge';\nimport { Conversation } from './conversation';\nimport { Developer } from './developer';\nimport { Erx } from './erx';\nimport { Fax } from './fax';\nimport { Fhir } from './fhir';\nimport { Lab } from './lab';\nimport { M2m } from './m2m';\nimport { Messaging } from './messaging';\nimport { PaymentMethod } from './paymentMethod';\nimport { Project } from './project';\nimport { Rcm } from './rcm';\nimport { Role } from './role';\nimport { Secret } from './secret';\nimport { Telemed } from './telemed';\nimport { Terminology } from './terminology';\nimport { TransactionalSMS } from './transactionalSMS';\nimport { User } from './user';\nimport { Version } from './version';\nimport { Z3 } from './z3';\nimport { Zambda } from './zambda';\nimport { ZambdaLogStream } from './zambdaLogStream';\n\nexport class Oystehr {\n readonly config: OystehrConfig;\n readonly application: Application;\n readonly developer: Developer;\n readonly m2m: M2m;\n readonly messaging: Messaging;\n readonly conversation: Conversation;\n readonly transactionalSMS: TransactionalSMS;\n readonly paymentMethod: PaymentMethod;\n readonly charge: Charge;\n readonly project: Project;\n readonly role: Role;\n readonly secret: Secret;\n readonly telemed: Telemed;\n readonly user: User;\n readonly version: Version;\n readonly z3: Z3;\n readonly fax: Fax;\n readonly lab: Lab;\n readonly erx: Erx;\n readonly rcm: Rcm;\n readonly terminology: Terminology;\n readonly zambda: Zambda;\n readonly zambdaLogStream: ZambdaLogStream;\n readonly fhir: Fhir;\n constructor(config: OystehrConfig) {\n this.config = config;\n this.config.services ??= {};\n this.config.services['projectApiUrl'] ??= config.projectApiUrl;\n this.config.services['fhirApiUrl'] ??= config.fhirApiUrl;\n this.application = new Application(config);\n this.developer = new Developer(config);\n this.m2m = new M2m(config);\n this.messaging = new Messaging(config);\n this.conversation = new Conversation(config);\n this.transactionalSMS = new TransactionalSMS(config);\n this.paymentMethod = new PaymentMethod(config);\n this.charge = new Charge(config);\n this.project = new Project(config);\n this.role = new Role(config);\n this.secret = new Secret(config);\n this.telemed = new Telemed(config);\n this.user = new User(config);\n this.version = new Version(config);\n this.z3 = new Z3(config);\n this.fax = new Fax(config);\n this.lab = new Lab(config);\n this.erx = new Erx(config);\n this.rcm = new Rcm(config);\n this.terminology = new Terminology(config);\n this.zambda = new Zambda(config);\n this.zambdaLogStream = new ZambdaLogStream(config);\n this.fhir = new Fhir(config);\n }\n}\n"],"names":["Application","Developer","M2m","Messaging","Conversation","TransactionalSMS","PaymentMethod","Charge","Project","Role","Secret","Telemed","User","Version","Z3","Fax","Lab","Erx","Rcm","Terminology","Zambda","ZambdaLogStream","Fhir"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;sBA2Ba,OAAO,CAAA;AACT,IAAA,MAAM;AACN,IAAA,WAAW;AACX,IAAA,SAAS;AACT,IAAA,GAAG;AACH,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,gBAAgB;AAChB,IAAA,aAAa;AACb,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,IAAI;AACJ,IAAA,OAAO;AACP,IAAA,EAAE;AACF,IAAA,GAAG;AACH,IAAA,GAAG;AACH,IAAA,GAAG;AACH,IAAA,GAAG;AACH,IAAA,WAAW;AACX,IAAA,MAAM;AACN,IAAA,eAAe;AACf,IAAA,IAAI;AACb,IAAA,WAAA,CAAY,MAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,aAAa;QAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,UAAU;QACxD,IAAI,CAAC,WAAW,GAAG,IAAIA,uBAAW,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAIC,mBAAS,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAIC,mBAAS,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAIC,yBAAY,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAIC,iCAAgB,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAIC,2BAAa,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAIC,eAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,EAAE,GAAG,IAAIC,KAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAIC,uBAAW,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAIC,aAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAIC,+BAAe,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAIC,SAAI,CAAC,MAAM,CAAC;IAC9B;AACD;;;;"}
@@ -33,19 +33,19 @@ export declare class Oystehr {
33
33
  readonly paymentMethod: PaymentMethod;
34
34
  readonly charge: Charge;
35
35
  readonly project: Project;
36
- readonly rcm: Rcm;
37
36
  readonly role: Role;
38
37
  readonly secret: Secret;
39
38
  readonly telemed: Telemed;
40
39
  readonly user: User;
41
40
  readonly version: Version;
42
41
  readonly z3: Z3;
43
- readonly zambda: Zambda;
44
- readonly zambdaLogStream: ZambdaLogStream;
45
42
  readonly fax: Fax;
46
43
  readonly lab: Lab;
47
44
  readonly erx: Erx;
45
+ readonly rcm: Rcm;
48
46
  readonly terminology: Terminology;
47
+ readonly zambda: Zambda;
48
+ readonly zambdaLogStream: ZambdaLogStream;
49
49
  readonly fhir: Fhir;
50
50
  constructor(config: OystehrConfig);
51
51
  }
@@ -8,7 +8,7 @@ class Rcm extends client.SDKResource {
8
8
  super(config);
9
9
  }
10
10
  #baseUrlThunk() {
11
- return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
11
+ return this.config.services?.['rcmApiUrl'] ?? 'https://rcm-api.zapehr.com/v1';
12
12
  }
13
13
  /**
14
14
  * Check [Insurance Eligibility](https://docs.oystehr.com/oystehr/services/rcm/eligibility/).
@@ -20,34 +20,31 @@ class Rcm extends client.SDKResource {
20
20
  * Access Policy Resource: `FHIR:CoverageEligibilityResponse`
21
21
  */
22
22
  eligibilityCheck(params, request) {
23
- return this.request('/rcm/eligibility-check', 'post', this.#baseUrlThunk.bind(this))(params, request);
23
+ return this.request('/eligibility-check', 'post', this.#baseUrlThunk.bind(this))(params, request);
24
24
  }
25
25
  /**
26
- * Check [Validate Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).
26
+ * Submit a claim to a payer.
27
27
  *
28
- * Access Policy Action: `RCM:ValidateProfessionalClaim`
28
+ * Access Policy Action: `RCM:SubmitClaim`
29
29
  * Access Policy Resource: `RCM:Claim`
30
30
  *
31
31
  * Access Policy Action: `FHIR:Create`
32
- * Access Policy Resource: `FHIR:AuditEvent`
32
+ * Access Policy Resource: `FHIR:ClaimResponse`
33
33
  */
34
- validateProfessionalClaim(params, request) {
35
- return this.request('/rcm/professional-claim/validate', 'post', this.#baseUrlThunk.bind(this))(params, request);
34
+ submitClaim(params, request) {
35
+ return this.request('/claim/{claimId}/submit', 'post', this.#baseUrlThunk.bind(this))(params, request);
36
36
  }
37
37
  /**
38
- * Check [Submit Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).
38
+ * Emulate asynchronous claim responses by manually setting claim status.
39
39
  *
40
- * Access Policy Action: `RCM:SubmitProfessionalClaim`
40
+ * Access Policy Action: `RCM:SubmitClaim`
41
41
  * Access Policy Resource: `RCM:Claim`
42
42
  *
43
43
  * Access Policy Action: `FHIR:Create`
44
- * Access Policy Resource: `FHIR:AuditEvent`
45
- *
46
- * Access Policy Actions: `FHIR:Create, FHIR:Update`
47
- * Access Policy Resource: `FHIR:Claim`
44
+ * Access Policy Resource: `FHIR:ClaimResponse`
48
45
  */
49
- submitProfessionalClaim(params, request) {
50
- return this.request('/rcm/professional-claim/submit', 'post', this.#baseUrlThunk.bind(this))(params, request);
46
+ setClaimStatus(params, request) {
47
+ return this.request('/claim/{claimId}/status', 'post', this.#baseUrlThunk.bind(this))(params, request);
51
48
  }
52
49
  }
53
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"rcm.cjs","sources":["../../../../src/resources/classes/rcm.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n RcmEligibilityCheckParams,\n RcmEligibilityCheckResponse,\n RcmSubmitProfessionalClaimParams,\n RcmSubmitProfessionalClaimResponse,\n RcmValidateProfessionalClaimParams,\n RcmValidateProfessionalClaimResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class Rcm extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';\n }\n /**\n * Check [Insurance Eligibility](https://docs.oystehr.com/oystehr/services/rcm/eligibility/).\n *\n * Access Policy Action: `RCM:CheckInsuranceEligibility`\n * Access Policy Resource: `RCM:InsuranceEligibility`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:CoverageEligibilityResponse`\n */\n eligibilityCheck(\n params: RcmEligibilityCheckParams,\n request?: OystehrClientRequest\n ): Promise<RcmEligibilityCheckResponse> {\n return this.request('/rcm/eligibility-check', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Check [Validate Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).\n *\n * Access Policy Action: `RCM:ValidateProfessionalClaim`\n * Access Policy Resource: `RCM:Claim`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:AuditEvent`\n */\n validateProfessionalClaim(\n params: RcmValidateProfessionalClaimParams,\n request?: OystehrClientRequest\n ): Promise<RcmValidateProfessionalClaimResponse> {\n return this.request('/rcm/professional-claim/validate', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Check [Submit Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).\n *\n * Access Policy Action: `RCM:SubmitProfessionalClaim`\n * Access Policy Resource: `RCM:Claim`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:AuditEvent`\n *\n * Access Policy Actions: `FHIR:Create, FHIR:Update`\n * Access Policy Resource: `FHIR:Claim`\n */\n submitProfessionalClaim(\n params: RcmSubmitProfessionalClaimParams,\n request?: OystehrClientRequest\n ): Promise<RcmSubmitProfessionalClaimResponse> {\n return this.request('/rcm/professional-claim/submit', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAcM,MAAO,GAAI,SAAQA,kBAAW,CAAA;AAClC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,mCAAmC;IACvF;AACA;;;;;;;;AAQG;IACH,gBAAgB,CACd,MAAiC,EACjC,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG;AACA;;;;;;;;AAQG;IACH,yBAAyB,CACvB,MAA0C,EAC1C,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACjH;AACA;;;;;;;;;;;AAWG;IACH,uBAAuB,CACrB,MAAwC,EACxC,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/G;AACD;;;;"}
1
+ {"version":3,"file":"rcm.cjs","sources":["../../../../src/resources/classes/rcm.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n RcmEligibilityCheckParams,\n RcmEligibilityCheckResponse,\n RcmSetClaimStatusParams,\n RcmSetClaimStatusResponse,\n RcmSubmitClaimParams,\n RcmSubmitClaimResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class Rcm extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['rcmApiUrl'] ?? 'https://rcm-api.zapehr.com/v1';\n }\n /**\n * Check [Insurance Eligibility](https://docs.oystehr.com/oystehr/services/rcm/eligibility/).\n *\n * Access Policy Action: `RCM:CheckInsuranceEligibility`\n * Access Policy Resource: `RCM:InsuranceEligibility`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:CoverageEligibilityResponse`\n */\n eligibilityCheck(\n params: RcmEligibilityCheckParams,\n request?: OystehrClientRequest\n ): Promise<RcmEligibilityCheckResponse> {\n return this.request('/eligibility-check', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Submit a claim to a payer.\n *\n * Access Policy Action: `RCM:SubmitClaim`\n * Access Policy Resource: `RCM:Claim`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:ClaimResponse`\n */\n submitClaim(params: RcmSubmitClaimParams, request?: OystehrClientRequest): Promise<RcmSubmitClaimResponse> {\n return this.request('/claim/{claimId}/submit', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Emulate asynchronous claim responses by manually setting claim status.\n *\n * Access Policy Action: `RCM:SubmitClaim`\n * Access Policy Resource: `RCM:Claim`\n *\n * Access Policy Action: `FHIR:Create`\n * Access Policy Resource: `FHIR:ClaimResponse`\n */\n setClaimStatus(params: RcmSetClaimStatusParams, request?: OystehrClientRequest): Promise<RcmSetClaimStatusResponse> {\n return this.request('/claim/{claimId}/status', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAcM,MAAO,GAAI,SAAQA,kBAAW,CAAA;AAClC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,+BAA+B;IAC/E;AACA;;;;;;;;AAQG;IACH,gBAAgB,CACd,MAAiC,EACjC,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACnG;AACA;;;;;;;;AAQG;IACH,WAAW,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACxG;AACA;;;;;;;;AAQG;IACH,cAAc,CAAC,MAA+B,EAAE,OAA8B,EAAA;QAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACxG;AACD;;;;"}
@@ -1,4 +1,4 @@
1
- import { OystehrClientRequest, RcmEligibilityCheckParams, RcmEligibilityCheckResponse, RcmSubmitProfessionalClaimParams, RcmSubmitProfessionalClaimResponse, RcmValidateProfessionalClaimParams, RcmValidateProfessionalClaimResponse } from '../..';
1
+ import { OystehrClientRequest, RcmEligibilityCheckParams, RcmEligibilityCheckResponse, RcmSetClaimStatusParams, RcmSetClaimStatusResponse, RcmSubmitClaimParams, RcmSubmitClaimResponse } from '../..';
2
2
  import { SDKResource } from '../../client/client';
3
3
  import { OystehrConfig } from '../../config';
4
4
  export declare class Rcm extends SDKResource {
@@ -15,26 +15,23 @@ export declare class Rcm extends SDKResource {
15
15
  */
16
16
  eligibilityCheck(params: RcmEligibilityCheckParams, request?: OystehrClientRequest): Promise<RcmEligibilityCheckResponse>;
17
17
  /**
18
- * Check [Validate Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).
18
+ * Submit a claim to a payer.
19
19
  *
20
- * Access Policy Action: `RCM:ValidateProfessionalClaim`
20
+ * Access Policy Action: `RCM:SubmitClaim`
21
21
  * Access Policy Resource: `RCM:Claim`
22
22
  *
23
23
  * Access Policy Action: `FHIR:Create`
24
- * Access Policy Resource: `FHIR:AuditEvent`
24
+ * Access Policy Resource: `FHIR:ClaimResponse`
25
25
  */
26
- validateProfessionalClaim(params: RcmValidateProfessionalClaimParams, request?: OystehrClientRequest): Promise<RcmValidateProfessionalClaimResponse>;
26
+ submitClaim(params: RcmSubmitClaimParams, request?: OystehrClientRequest): Promise<RcmSubmitClaimResponse>;
27
27
  /**
28
- * Check [Submit Professional Claim](https://docs.oystehr.com/oystehr/services/rcm/professional-claim-submission/).
28
+ * Emulate asynchronous claim responses by manually setting claim status.
29
29
  *
30
- * Access Policy Action: `RCM:SubmitProfessionalClaim`
30
+ * Access Policy Action: `RCM:SubmitClaim`
31
31
  * Access Policy Resource: `RCM:Claim`
32
32
  *
33
33
  * Access Policy Action: `FHIR:Create`
34
- * Access Policy Resource: `FHIR:AuditEvent`
35
- *
36
- * Access Policy Actions: `FHIR:Create, FHIR:Update`
37
- * Access Policy Resource: `FHIR:Claim`
34
+ * Access Policy Resource: `FHIR:ClaimResponse`
38
35
  */
39
- submitProfessionalClaim(params: RcmSubmitProfessionalClaimParams, request?: OystehrClientRequest): Promise<RcmSubmitProfessionalClaimResponse>;
36
+ setClaimStatus(params: RcmSetClaimStatusParams, request?: OystehrClientRequest): Promise<RcmSetClaimStatusResponse>;
40
37
  }
@@ -9,7 +9,7 @@ class Zambda extends client.SDKResource {
9
9
  super(config);
10
10
  }
11
11
  #baseUrlThunk() {
12
- return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
12
+ return this.config.services?.['zambdaApiUrl'] ?? 'https://zambda-api.zapehr.com/v1';
13
13
  }
14
14
  uploadFile = zambdaExt.uploadFile;
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zambda.cjs","sources":["../../../../src/resources/classes/zambda.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n ZambdaCreateParams,\n ZambdaCreateResponse,\n ZambdaDeleteParams,\n ZambdaExecuteParams,\n ZambdaExecutePublicParams,\n ZambdaExecutePublicResponse,\n ZambdaExecuteResponse,\n ZambdaGetParams,\n ZambdaGetResponse,\n ZambdaListResponse,\n ZambdaS3UploadParams,\n ZambdaS3UploadResponse,\n ZambdaUpdateParams,\n ZambdaUpdateResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\nimport * as ext from './zambda-ext';\n\nexport class Zambda extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';\n }\n uploadFile = ext.uploadFile;\n /**\n * Get a list of all Zambda Functions in the Project. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ListAllFunctions`\n * Access Policy Resource: `Zambda:Function`\n */\n list(request?: OystehrClientRequest): Promise<ZambdaListResponse> {\n return this.request('/zambda', 'get', this.#baseUrlThunk.bind(this))(request);\n }\n /**\n * Create a new Zambda Function. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:CreateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n create(params: ZambdaCreateParams, request?: OystehrClientRequest): Promise<ZambdaCreateResponse> {\n return this.request('/zambda', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:GetFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n get(params: ZambdaGetParams, request?: OystehrClientRequest): Promise<ZambdaGetResponse> {\n return this.request('/zambda/{id}', 'get', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Update the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:UpdateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n update(params: ZambdaUpdateParams, request?: OystehrClientRequest): Promise<ZambdaUpdateResponse> {\n return this.request('/zambda/{id}', 'patch', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Delete the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:DeleteFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n delete(params: ZambdaDeleteParams, request?: OystehrClientRequest): Promise<void> {\n return this.request('/zambda/{id}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Execute the [Authenticated Zambda Function](https://docs.oystehr.com/oystehr/services/zambda/types/authenticated/) with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:InvokeFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n execute(params: ZambdaExecuteParams, request?: OystehrClientRequest): Promise<ZambdaExecuteResponse> {\n return this.request('/zambda/{id}/execute', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Execute the [Public Zambda Function](https://docs.oystehr.com/oystehr/services/zambda/types/public/) with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Execute a zambda that has method http_open. This endpoint is public so there are no access policy requirements.\n */\n executePublic(\n params: ZambdaExecutePublicParams,\n request?: OystehrClientRequest\n ): Promise<ZambdaExecutePublicResponse> {\n return this.request('/zambda/{id}/execute-public', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Returns a URL that is used to deploy code to the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:UpdateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n s3Upload(params: ZambdaS3UploadParams, request?: OystehrClientRequest): Promise<ZambdaS3UploadResponse> {\n return this.request('/zambda/{id}/s3-upload', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n}\n"],"names":["SDKResource","ext.uploadFile"],"mappings":";;;;;AAAA;AAuBM,MAAO,MAAO,SAAQA,kBAAW,CAAA;AACrC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,mCAAmC;IACvF;AACA,IAAA,UAAU,GAAGC,oBAAc;AAC3B;;;;;AAKG;AACH,IAAA,IAAI,CAAC,OAA8B,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACxF;AACA;;;;;AAKG;IACH,GAAG,CAAC,MAAuB,EAAE,OAA8B,EAAA;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5F;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9F;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/F;AACA;;;;;AAKG;IACH,OAAO,CAAC,MAA2B,EAAE,OAA8B,EAAA;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACrG;AACA;;;;AAIG;IACH,aAAa,CACX,MAAiC,EACjC,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5G;AACA;;;;;AAKG;IACH,QAAQ,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG;AACD;;;;"}
1
+ {"version":3,"file":"zambda.cjs","sources":["../../../../src/resources/classes/zambda.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n ZambdaCreateParams,\n ZambdaCreateResponse,\n ZambdaDeleteParams,\n ZambdaExecuteParams,\n ZambdaExecutePublicParams,\n ZambdaExecutePublicResponse,\n ZambdaExecuteResponse,\n ZambdaGetParams,\n ZambdaGetResponse,\n ZambdaListResponse,\n ZambdaS3UploadParams,\n ZambdaS3UploadResponse,\n ZambdaUpdateParams,\n ZambdaUpdateResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\nimport * as ext from './zambda-ext';\n\nexport class Zambda extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['zambdaApiUrl'] ?? 'https://zambda-api.zapehr.com/v1';\n }\n uploadFile = ext.uploadFile;\n /**\n * Get a list of all Zambda Functions in the Project. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ListAllFunctions`\n * Access Policy Resource: `Zambda:Function`\n */\n list(request?: OystehrClientRequest): Promise<ZambdaListResponse> {\n return this.request('/zambda', 'get', this.#baseUrlThunk.bind(this))(request);\n }\n /**\n * Create a new Zambda Function. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:CreateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n create(params: ZambdaCreateParams, request?: OystehrClientRequest): Promise<ZambdaCreateResponse> {\n return this.request('/zambda', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:GetFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n get(params: ZambdaGetParams, request?: OystehrClientRequest): Promise<ZambdaGetResponse> {\n return this.request('/zambda/{id}', 'get', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Update the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:UpdateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n update(params: ZambdaUpdateParams, request?: OystehrClientRequest): Promise<ZambdaUpdateResponse> {\n return this.request('/zambda/{id}', 'patch', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Delete the Zambda Function with the provided ID or name. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:DeleteFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n delete(params: ZambdaDeleteParams, request?: OystehrClientRequest): Promise<void> {\n return this.request('/zambda/{id}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Execute the [Authenticated Zambda Function](https://docs.oystehr.com/oystehr/services/zambda/types/authenticated/) with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:InvokeFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n execute(params: ZambdaExecuteParams, request?: OystehrClientRequest): Promise<ZambdaExecuteResponse> {\n return this.request('/zambda/{id}/execute', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Execute the [Public Zambda Function](https://docs.oystehr.com/oystehr/services/zambda/types/public/) with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Execute a zambda that has method http_open. This endpoint is public so there are no access policy requirements.\n */\n executePublic(\n params: ZambdaExecutePublicParams,\n request?: OystehrClientRequest\n ): Promise<ZambdaExecutePublicResponse> {\n return this.request('/zambda/{id}/execute-public', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Returns a URL that is used to deploy code to the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:UpdateFunction`\n * Access Policy Resource: `Zambda:Function`\n */\n s3Upload(params: ZambdaS3UploadParams, request?: OystehrClientRequest): Promise<ZambdaS3UploadResponse> {\n return this.request('/zambda/{id}/s3-upload', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n}\n"],"names":["SDKResource","ext.uploadFile"],"mappings":";;;;;AAAA;AAuBM,MAAO,MAAO,SAAQA,kBAAW,CAAA;AACrC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,kCAAkC;IACrF;AACA,IAAA,UAAU,GAAGC,oBAAc;AAC3B;;;;;AAKG;AACH,IAAA,IAAI,CAAC,OAA8B,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACxF;AACA;;;;;AAKG;IACH,GAAG,CAAC,MAAuB,EAAE,OAA8B,EAAA;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5F;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9F;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAA0B,EAAE,OAA8B,EAAA;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/F;AACA;;;;;AAKG;IACH,OAAO,CAAC,MAA2B,EAAE,OAA8B,EAAA;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACrG;AACA;;;;AAIG;IACH,aAAa,CACX,MAAiC,EACjC,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5G;AACA;;;;;AAKG;IACH,QAAQ,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG;AACD;;;;"}
@@ -8,7 +8,7 @@ class ZambdaLogStream extends client.SDKResource {
8
8
  super(config);
9
9
  }
10
10
  #baseUrlThunk() {
11
- return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';
11
+ return this.config.services?.['zambdaApiUrl'] ?? 'https://zambda-api.zapehr.com/v1';
12
12
  }
13
13
  /**
14
14
  * Get the log streams for the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.
@@ -1 +1 @@
1
- {"version":3,"file":"zambdaLogStream.cjs","sources":["../../../../src/resources/classes/zambdaLogStream.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n ZambdaLogStreamGetParams,\n ZambdaLogStreamGetResponse,\n ZambdaLogStreamListParams,\n ZambdaLogStreamListResponse,\n ZambdaLogStreamSearchParams,\n ZambdaLogStreamSearchResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class ZambdaLogStream extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';\n }\n /**\n * Get the log streams for the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n list(params: ZambdaLogStreamListParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamListResponse> {\n return this.request('/zambda/{id}/logStream', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get all logs for the Zambda Function with the provided ID, filtered by any of: text in messages, minimum start date, and/or maximum end date. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n search(params: ZambdaLogStreamSearchParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamSearchResponse> {\n return this.request('/zambda/{id}/logStream/search', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get the logs from the specified log stream for the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n get(params: ZambdaLogStreamGetParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamGetResponse> {\n return this.request(\n '/zambda/{id}/logStream/{logStreamName}',\n 'post',\n this.#baseUrlThunk.bind(this)\n )(params, request);\n }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAcM,MAAO,eAAgB,SAAQA,kBAAW,CAAA;AAC9C,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,mCAAmC;IACvF;AACA;;;;;AAKG;IACH,IAAI,CAAC,MAAiC,EAAE,OAA8B,EAAA;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAAmC,EAAE,OAA8B,EAAA;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9G;AACA;;;;;AAKG;IACH,GAAG,CAAC,MAAgC,EAAE,OAA8B,EAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CACjB,wCAAwC,EACxC,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC,MAAM,EAAE,OAAO,CAAC;IACpB;AACD;;;;"}
1
+ {"version":3,"file":"zambdaLogStream.cjs","sources":["../../../../src/resources/classes/zambdaLogStream.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n OystehrClientRequest,\n ZambdaLogStreamGetParams,\n ZambdaLogStreamGetResponse,\n ZambdaLogStreamListParams,\n ZambdaLogStreamListResponse,\n ZambdaLogStreamSearchParams,\n ZambdaLogStreamSearchResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class ZambdaLogStream extends SDKResource {\n constructor(config: OystehrConfig) {\n super(config);\n }\n #baseUrlThunk(): string {\n return this.config.services?.['zambdaApiUrl'] ?? 'https://zambda-api.zapehr.com/v1';\n }\n /**\n * Get the log streams for the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n list(params: ZambdaLogStreamListParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamListResponse> {\n return this.request('/zambda/{id}/logStream', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get all logs for the Zambda Function with the provided ID, filtered by any of: text in messages, minimum start date, and/or maximum end date. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n search(params: ZambdaLogStreamSearchParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamSearchResponse> {\n return this.request('/zambda/{id}/logStream/search', 'post', this.#baseUrlThunk.bind(this))(params, request);\n }\n /**\n * Get the logs from the specified log stream for the Zambda Function with the provided ID. [Zambdas](https://docs.oystehr.com/oystehr/services/zambda/) are functions that can be used to execute your code. They can be used to process data received from Oystehr's APIs or to perform operations on third-party services.\n *\n * Access Policy Action: `Zambda:ReadLogs`\n * Access Policy Resource: `Zambda:Function`\n */\n get(params: ZambdaLogStreamGetParams, request?: OystehrClientRequest): Promise<ZambdaLogStreamGetResponse> {\n return this.request(\n '/zambda/{id}/logStream/{logStreamName}',\n 'post',\n this.#baseUrlThunk.bind(this)\n )(params, request);\n }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAcM,MAAO,eAAgB,SAAQA,kBAAW,CAAA;AAC9C,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC;IACf;IACA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,kCAAkC;IACrF;AACA;;;;;AAKG;IACH,IAAI,CAAC,MAAiC,EAAE,OAA8B,EAAA;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG;AACA;;;;;AAKG;IACH,MAAM,CAAC,MAAmC,EAAE,OAA8B,EAAA;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9G;AACA;;;;;AAKG;IACH,GAAG,CAAC,MAAgC,EAAE,OAA8B,EAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CACjB,wCAAwC,EACxC,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC,MAAM,EAAE,OAAO,CAAC;IACpB;AACD;;;;"}
@@ -0,0 +1,7 @@
1
+ export interface RcmSetClaimStatusParams {
2
+ /**
3
+ * The new status for the claim.
4
+ */
5
+ status: 'accepted' | 'rejected';
6
+ claimId: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ClaimResponse } from 'fhir/r4b';
2
+ /**
3
+ * A valid FHIR ClaimResponse object will be returned with details on the claim result.
4
+ */
5
+ export type RcmSetClaimStatusResponse = ClaimResponse;
@@ -0,0 +1,3 @@
1
+ export interface RcmSubmitClaimParams {
2
+ claimId: string;
3
+ }
@@ -0,0 +1,5 @@
1
+ import { ClaimResponse } from 'fhir/r4b';
2
+ /**
3
+ * A valid FHIR ClaimResponse object will be returned with details on the claim result.
4
+ */
5
+ export type RcmSubmitClaimResponse = ClaimResponse;
@@ -12,7 +12,7 @@ export interface ZambdaCreateParams {
12
12
  /**
13
13
  * The runtime to use for the Zambda Function.
14
14
  */
15
- runtime: 'nodejs20.x' | 'nodejs22.x' | 'python3.13' | 'python3.12' | 'java21' | 'dotnet8' | 'ruby3.3';
15
+ runtime: 'nodejs20.x' | 'nodejs22.x' | 'nodejs24.x' | 'python3.13' | 'python3.12' | 'java21' | 'dotnet8' | 'ruby3.3';
16
16
  /**
17
17
  * The amount of memory in MB to allocate to the Zambda Function. If not specified, a system default (1024MB) will be used. Min: 128MB, Max: 10240MB.
18
18
  */
@@ -9,4 +9,10 @@ export interface ZambdaExecuteResult {
9
9
  output: {
10
10
  [k: string]: any;
11
11
  } | any[] | string | number | null;
12
+ /**
13
+ * Optional HTTP headers returned by the Zambda Function
14
+ */
15
+ headers?: {
16
+ [k: string]: any;
17
+ };
12
18
  }
@@ -12,7 +12,7 @@ export interface ZambdaUpdateParams {
12
12
  /**
13
13
  * The runtime to use for the Zambda Function.
14
14
  */
15
- runtime?: 'nodejs20.x' | 'nodejs22.x' | 'python3.13' | 'python3.12' | 'java21' | 'dotnet8' | 'ruby3.3';
15
+ runtime?: 'nodejs20.x' | 'nodejs22.x' | 'nodejs24.x' | 'python3.13' | 'python3.12' | 'java21' | 'dotnet8' | 'ruby3.3';
16
16
  /**
17
17
  * The amount of memory in MB to allocate to the Zambda Function. If not specified, a system default (1024MB) will be used. Min: 128MB, Max: 10240MB.
18
18
  */