import {z} from 'zod' export type CreateApiV2NotesNoteIdAmendmentsArgs = {note_id: number}; export type CreateApiV2NotesNoteIdAmendmentsOptions = {baseUrl?: string | undefined, RequireAuthentication?: string | undefined, fetch?: typeof fetch | undefined}; export const followupParagraphAttrs = z.object({ref_id: z.string().optional()}); export const el8NoteModelsNoteSectionsSharedTextBlockMarkTypes = z.enum(["bold", "italic", "strike", "underline"]); export const textInlineMark = z.object({type: el8NoteModelsNoteSectionsSharedTextBlockMarkTypes}); export const textInlineOutput = z.object({marks: z.array(textInlineMark).optional(), text: z.string().optional(), type: z.literal("text").optional()}); export const lineBreakInline = z.object({type: z.literal("lineBreak").optional()}); export const followupParagraphOutput = z.object({attrs: followupParagraphAttrs.optional(), content: z.array(z.discriminatedUnion("type", [textInlineOutput, lineBreakInline])).optional(), type: z.literal("followUpParagraph").optional()}); export const attrsWithRefId = z.object({ref_id: z.string().optional()}); export const followupOrderedListOutput = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.lazy(() => followupListItemOutput)).optional(), type: z.literal("followUpOrderedList").optional()}); export const followupListItemOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.discriminatedUnion("type", [followupParagraphOutput, z.lazy(() => followupUnorderedListOutput), followupOrderedListOutput])).optional(), type: z.literal("followUpListItem").optional()}); export const followupUnorderedListOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(followupListItemOutput).optional(), type: z.literal("followUpUnorderedList").optional()}); export const followupSectionOutput = z.object({content: z.array(z.discriminatedUnion("type", [followupParagraphOutput, followupUnorderedListOutput, followupOrderedListOutput])).optional(), type: z.literal("followUp").optional()}); export const instructionParagraphAttrs = z.object({ref_id: z.string().optional()}); export const instructionsParagraphOutput = z.object({attrs: instructionParagraphAttrs.optional(), content: z.array(z.discriminatedUnion("type", [textInlineOutput, lineBreakInline])).optional(), type: z.literal("instructionsParagraph").optional()}); export const instructionsOrderedListOutput = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.lazy(() => instructionsListItemOutput)).optional(), type: z.literal("instructionsOrderedList").optional()}); export const instructionsListItemOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.discriminatedUnion("type", [instructionsParagraphOutput, z.lazy(() => instructionsUnorderedListOutput), instructionsOrderedListOutput])).optional(), type: z.literal("instructionsListItem").optional()}); export const instructionsUnorderedListOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(instructionsListItemOutput).optional(), type: z.literal("instructionsUnorderedList").optional()}); export const instructionsSectionOutput = z.object({content: z.array(z.discriminatedUnion("type", [instructionsParagraphOutput, instructionsUnorderedListOutput, instructionsOrderedListOutput])).optional(), type: z.literal("instructions").optional()}); export const narrativeParagraphAttrs = z.object({ref_id: z.string().optional()}); export const narrativeParagraphOutput = z.object({attrs: narrativeParagraphAttrs.optional(), content: z.array(z.discriminatedUnion("type", [textInlineOutput, lineBreakInline])).optional(), type: z.literal("narrativeParagraph").optional()}); export const narrativeOrderedListOutput = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.lazy(() => narrativeListItemOutput)).optional(), type: z.literal("narrativeOrderedList").optional()}); export const narrativeListItemOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.discriminatedUnion("type", [narrativeParagraphOutput, z.lazy(() => narrativeUnorderedListOutput), narrativeOrderedListOutput])).optional(), type: z.literal("narrativeListItem").optional()}); export const narrativeUnorderedListOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(narrativeListItemOutput).optional(), type: z.literal("narrativeUnorderedList").optional()}); export const narrativeSectionOutput = z.object({content: z.array(z.discriminatedUnion("type", [narrativeParagraphOutput, narrativeUnorderedListOutput, narrativeOrderedListOutput])).optional(), type: z.literal("narrative").optional()}); export const prescriptionSummary = z.object({created_date: z.string().nullable().optional(), days_supply: z.number().int().nullable().optional(), directions: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), instructions_to_pharmacy: z.string().nullable().optional(), is_document_med: z.boolean().nullable().optional(), medication_display_name: z.string(), medication_id: z.number().int(), medication_type: z.string().nullable().optional(), num_samples: z.number().int().nullable().optional(), quantity: z.string().nullable().optional(), quantity_units: z.string().nullable().optional(), refills: z.number().int().nullable().optional(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), type: z.string().nullable().optional()}); export const prescriptionBlockAttrs = z.object({entity_id: z.number().int(), prescription: prescriptionSummary, ref_id: z.string().optional()}); export const prescriptionBlockOutput = z.object({attrs: prescriptionBlockAttrs, type: z.literal("prescription").optional()}); export const labOrderFastingMethod = z.enum(["fasting_12_hour", "fasting_8_hours", "fasting_2_hours", "fasting_none", "fasting_random"]); export const labOrderAOEQuestionChoice = z.object({code: z.string().max(100), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), value: z.string()}); export const questionTypeEnum = z.enum(["enum", "enum_multiselect", "freetext", "y_or_n", "numeric", "yyyymmdd", "2_numeric_1_decimal"]); export const labOrderAOEQuestion = z.object({choices: z.array(labOrderAOEQuestionChoice), code: z.string().max(100), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), example_format: z.string().nullable().optional(), id: z.number().int().optional(), max_length: z.number().int().gte(0).lte(65535).nullable().optional(), question_type: questionTypeEnum.optional(), secondary_code: z.string().max(100).nullable().optional(), value: z.string()}); export const labOrderTestToLabOrderAOEQuestion = z.object({question: labOrderAOEQuestion, required: z.boolean().optional(), sequence: z.number().int().gte(0).lte(65535), test: z.number().int().optional()}); export const labOrderTest = z.object({code: z.string().max(50).nullable().optional(), compendium: z.number().int().nullable().optional(), cpts: z.array(z.string()).optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), lab_vendor: z.number().int().nullable().optional(), name: z.string().max(255), practice_created: z.number().int().nullable().optional(), procedure_class: z.string().max(50).nullable().optional(), questions: z.array(labOrderTestToLabOrderAOEQuestion).optional(), synonyms: z.array(z.string()).optional()}); export const labOrderSummary = z.object({confidential: z.boolean(), created_date: z.string(), deleted_date: z.string().nullable().optional(), fasting_method: labOrderFastingMethod, icd10_codes: z.array(z.string()).optional(), id: z.number().int(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), tests: z.array(labOrderTest).optional(), vendor_id: z.number().int().nullable().optional()}); export const labOrderBlockAttrsOutput = z.object({entity_id: z.number().int(), order: labOrderSummary, ref_id: z.string().optional()}); export const labOrderBlockOutput = z.object({attrs: labOrderBlockAttrsOutput, type: z.literal("labOrder").optional()}); export const imagingOrderTest = z.object({code: z.string().max(50).nullable().optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), name: z.string().max(255), practice: z.number().int()}); export const imagingOrderSummary = z.object({clinical_reason: z.string(), confidential: z.boolean(), created_date: z.string().nullable().optional(), date_for_test: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), tests: z.array(imagingOrderTest).optional()}); export const imagingOrderBlockAttrsOutput = z.object({entity_id: z.number().int(), order: imagingOrderSummary, ref_id: z.string().optional()}); export const imagingOrderBlockOutput = z.object({attrs: imagingOrderBlockAttrsOutput, type: z.literal("imagingOrder").optional()}); export const el8NoteModelsNoteSectionsSharedReferralSummary = z.object({authorization_for: z.string().nullable().optional(), clinical_reason: z.string().nullable().optional(), confidential: z.boolean().optional(), consultant_name: z.string().nullable().optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), signed_by_id: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), specialty_name: z.string().nullable().optional()}); export const referralBlockAttrs = z.object({entity_id: z.number().int(), ref_id: z.string().optional(), referral: el8NoteModelsNoteSectionsSharedReferralSummary}); export const referralBlockOutput = z.object({attrs: referralBlockAttrs, type: z.literal("referral").optional()}); export const cardiacOrderTest = z.object({code: z.string().max(50).nullable().optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), name: z.string().max(255), practice: z.number().int()}); export const cardiacOrderSummary = z.object({clinical_reason: z.string(), confidential: z.boolean(), created_date: z.string().nullable().optional(), date_for_test: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), medications: z.string().nullable().optional(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), tests: z.array(cardiacOrderTest).optional()}); export const cardiacOrderBlockAttrsOutput = z.object({entity_id: z.number().int(), order: cardiacOrderSummary, ref_id: z.string().optional()}); export const cardiacOrderBlockOutput = z.object({attrs: cardiacOrderBlockAttrsOutput, type: z.literal("cardiacOrder").optional()}); export const pulmonaryOrderTest = z.object({code: z.string().max(50).nullable().optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), name: z.string().max(255), practice: z.number().int()}); export const pulmonaryOrderSummary = z.object({allergies: z.string().nullable().optional(), clinical_reason: z.string(), confidential: z.boolean(), created_date: z.string().nullable().optional(), date_for_test: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), tests: z.array(pulmonaryOrderTest).optional()}); export const pulmonaryOrderBlockAttrsOutput = z.object({entity_id: z.number().int(), order: pulmonaryOrderSummary, ref_id: z.string().optional()}); export const pulmonaryOrderBlockOutput = z.object({attrs: pulmonaryOrderBlockAttrsOutput, type: z.literal("pulmonaryOrder").optional()}); export const sleepOrderTest = z.object({code: z.string().max(50).nullable().optional(), created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), name: z.string().max(255), practice: z.number().int()}); export const sleepOrderSummary = z.object({clinical_reason: z.string(), confidential: z.boolean(), created_date: z.string().nullable().optional(), date_for_test: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), icd10_codes: z.array(z.string()).optional(), id: z.number().int(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional(), tests: z.array(sleepOrderTest).optional()}); export const sleepOrderBlockAttrsOutput = z.object({entity_id: z.number().int(), order: sleepOrderSummary, ref_id: z.string().optional()}); export const sleepOrderBlockOutput = z.object({attrs: sleepOrderBlockAttrsOutput, type: z.literal("sleepOrder").optional()}); export const immunization = z.object({resource_type: z.string().optional(), fhir_comments: z.union([z.string(), z.array(z.string())]).optional(), id: z.string().min(1).max(64).optional(), _id: z.string().optional(), implicitRules: z.string().optional(), _implicitRules: z.string().optional(), language: z.string().optional(), _language: z.string().optional(), meta: z.string().optional(), contained: z.array(z.string()).optional(), extension: z.array(z.string()).optional(), modifierExtension: z.array(z.string()).optional(), text: z.string().optional(), doseQuantity: z.number().int().optional(), education: z.array(z.string()).optional(), encounter: z.string().optional(), expirationDate: z.string().optional(), _expirationDate: z.string().optional(), fundingSource: z.string().optional(), identifier: z.array(z.number().int()).optional(), isSubpotent: z.boolean().optional(), _isSubpotent: z.string().optional(), location: z.string().optional(), lotNumber: z.string().optional(), _lotNumber: z.string().optional(), manufacturer: z.string().optional(), note: z.array(z.string()).optional(), occurrenceDateTime: z.string().optional(), _occurrenceDateTime: z.string().optional(), occurrenceString: z.string().optional(), _occurrenceString: z.string().optional(), patient: z.string(), performer: z.array(z.string()).optional(), primarySource: z.boolean().optional(), _primarySource: z.string().optional(), programEligibility: z.array(z.string()).optional(), protocolApplied: z.array(z.string()).optional(), reaction: z.array(z.string()).optional(), reasonCode: z.array(z.string()).optional(), reasonReference: z.array(z.string()).optional(), recorded: z.string().optional(), _recorded: z.string().optional(), reportOrigin: z.string().optional(), route: z.string().optional(), site: z.string().optional(), status: z.string().optional(), _status: z.string().optional(), statusReason: z.string().optional(), subpotentReason: z.array(z.string()).optional(), vaccineCode: z.string()}); export const patientImmunizationAttrsOutput = z.object({entity_id: z.number().int(), immunization: immunization, ref_id: z.string().optional()}); export const patientImmunizationBlockOutput = z.object({attrs: patientImmunizationAttrsOutput, type: z.literal("patientImmunization").optional()}); export const injectionDoseUnit = z.enum(["dL", "g", "kg", "kL", "L", "mCi", "mg", "mL", "ug", "uL", "tab"]); export const injectionMethod = z.enum(["Intravenous", "Intramuscular", "Subcutaneous", "Intradermal", "Other"]); export const injection = z.object({deleted_date: z.string().nullable().optional(), dose: z.string().nullable().optional(), dose_unit: injectionDoseUnit.nullable().optional(), given_by_user_id: z.number().int().nullable().optional(), given_date: z.string(), id: z.number().int(), is_confidential: z.boolean().optional(), is_new: z.boolean().optional(), method: injectionMethod.nullable().optional(), patient_id: z.number().int(), practice_id: z.number().int(), reference_medication_id: z.number().int(), signed_by: z.number().int().nullable().optional(), signed_date: z.string().nullable().optional()}); export const injectionBlockAttrsOutput = z.object({entity_id: z.number().int(), injection: injection, ref_id: z.string().optional()}); export const injectionBlockOutput = z.object({attrs: injectionBlockAttrsOutput, type: z.literal("injection").optional()}); export const content = z.object({base64_content: z.string(), content_type: z.string().optional(), original_filename: z.string().max(200)}); export const handoutType = z.enum(["Patient Resource", "VIS"]); export const handout = z.object({content: content, created_date: z.string().nullable().optional(), deleted_date: z.string().nullable().optional(), id: z.number().int().optional(), name: z.string().max(255), practice_created: z.number().int(), received_date: z.string().optional(), tags: z.array(z.string()).optional(), type: handoutType, vis_barcode: z.string().max(30).nullable().optional()}); export const handoutBlockAttrsOutput = z.object({entity_id: z.number().int(), handout: handout, ref_id: z.string().optional()}); export const handoutBlockOutput = z.object({attrs: handoutBlockAttrsOutput, type: z.literal("handout").optional()}); export const ordersSectionOutput = z.object({content: z.array(z.discriminatedUnion("type", [prescriptionBlockOutput, labOrderBlockOutput, imagingOrderBlockOutput, referralBlockOutput, cardiacOrderBlockOutput, pulmonaryOrderBlockOutput, sleepOrderBlockOutput, patientImmunizationBlockOutput, injectionBlockOutput, handoutBlockOutput])).optional(), type: z.literal("orders").optional()}); export const cptCode = z.object({code: z.string(), description: z.string(), id: z.number().int()}); export const procedureAttrs = z.object({cpt_code: cptCode, ref_id: z.string().optional()}); export const procedureOutput = z.object({attrs: procedureAttrs, type: z.literal("procedure").optional()}); export const procedureParagraphAttrs = z.object({ref_id: z.string().optional()}); export const procedureParagraphOutput = z.object({attrs: procedureParagraphAttrs.optional(), content: z.array(z.discriminatedUnion("type", [textInlineOutput, lineBreakInline])).optional(), type: z.literal("proceduresParagraph").optional()}); export const procedureOrderedListOutput = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.lazy(() => procedureListItemOutput)).optional(), type: z.literal("proceduresOrderedList").optional()}); export const procedureListItemOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(z.discriminatedUnion("type", [procedureParagraphOutput, z.lazy(() => procedureUnorderedListOutput), procedureOrderedListOutput])).optional(), type: z.literal("proceduresListItem").optional()}); export const procedureUnorderedListOutput: z.ZodType = z.object({attrs: attrsWithRefId.optional(), content: z.array(procedureListItemOutput).optional(), type: z.literal("proceduresUnorderedList").optional()}); export const procedureSectionOutput = z.object({content: z.array(z.discriminatedUnion("type", [procedureOutput, procedureParagraphOutput, procedureUnorderedListOutput, procedureOrderedListOutput])).optional(), type: z.literal("procedures").optional()}); export const referencedDocumentData = z.object({id: z.number().int(), lab_result_id: z.number().int().nullable().optional(), summary: z.string().optional(), summary_formatting: z.array(z.unknown()).optional()}); export const referencedDocumentAttrs = z.object({document: referencedDocumentData, ref_id: z.string().optional()}); export const referencedDocumentOutput = z.object({attrs: referencedDocumentAttrs, type: z.literal("referencedDocument").optional()}); export const referencedDocumentsSectionOutput = z.object({content: z.array(referencedDocumentOutput).optional(), type: z.literal("referencedDocuments").optional()}); export const vitalBMI = z.object({bmi: z.string().nullable().optional(), edited_by_scribe: z.boolean().optional()}); export const vitalBP = z.object({bp_d: z.string().optional(), bp_s: z.string().optional(), edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional()}); export const vitalFiO2 = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), percent: z.string().optional()}); export const vitalHC = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), hc: z.string().optional(), id: z.number().int().nullable().optional()}); export const vitalHeight = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), height: z.string().optional(), id: z.number().int().nullable().optional()}); export const vitalHR = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), hr: z.string().optional(), id: z.number().int().nullable().optional()}); export const vitalOxygen = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), percent: z.string().optional()}); export const vitalPain = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), pain: z.string().optional()}); export const vitalRR = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), rr: z.string().optional()}); export const vitalTemperature = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), temperature: z.string().optional()}); export const vitalWeight = z.object({edited_by_scribe: z.boolean().optional(), extra_note: z.string().optional(), id: z.number().int().nullable().optional(), weight: z.string().optional()}); export const el8NoteModelsNoteSectionsVitalsSectionVitals = z.object({bmi: z.array(vitalBMI).optional(), bp: z.array(vitalBP).optional(), fio2: z.array(vitalFiO2).optional(), hc: z.array(vitalHC).optional(), height: z.array(vitalHeight).optional(), hr: z.array(vitalHR).optional(), oxygen: z.array(vitalOxygen).optional(), pain: z.array(vitalPain).optional(), rr: z.array(vitalRR).optional(), temperature: z.array(vitalTemperature).optional(), weight: z.array(vitalWeight).optional()}); export const vitalsSectionAttrsOutput = z.object({ref_id: z.string().optional(), vitals: el8NoteModelsNoteSectionsVitalsSectionVitals.optional(), vitals_collection_id: z.number().int().nullable().optional()}); export const vitalsSectionOutput = z.object({attrs: vitalsSectionAttrsOutput.optional(), type: z.literal("vitals").optional()}); export const contentMapOutput = z.object({followUp: followupSectionOutput.nullable().optional(), instructions: instructionsSectionOutput.nullable().optional(), narrative: narrativeSectionOutput.nullable().optional(), orders: ordersSectionOutput.nullable().optional(), procedures: procedureSectionOutput.nullable().optional(), referencedDocuments: referencedDocumentsSectionOutput.nullable().optional(), vitals: vitalsSectionOutput.nullable().optional()}); export const noteLayoutHeader = z.object({text: z.string().optional(), type: z.literal("header").optional()}); export const noteLayoutBlock = z.object({type: z.string()}); export const noteLayoutColumn = z.object({content: z.array(z.union([noteLayoutHeader, noteLayoutBlock])).optional(), type: z.literal("column").optional()}); export const layout = z.object({content: z.array(noteLayoutColumn).optional(), name: z.string()}); export const sectionsContent = z.object({content_map: contentMapOutput, layout: layout}); export const documentSignatureRole = z.enum(["amender", "cosigner", "rendering_provider", "staff_autofiler"]); export const documentSignature = z.object({amendment_id: z.number().int().nullable().optional(), on_behalf_of_user_id: z.number().int().nullable().optional(), on_behalf_of_user_name: z.string().nullable().optional(), signature_comments: z.string(), signature_role: documentSignatureRole, signed_at: z.string(), user_id: z.number().int(), user_name: z.string()}); export const elationNoteAmendment = z.object({bill: z.number().int().nullable().optional(), category: z.number().int(), content: sectionsContent, exam_reason: z.string().nullable().optional(), id: z.number().int(), is_draft: z.boolean(), is_outdated: z.boolean().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), note_id: z.number().int(), patient: z.number().int(), practice: z.number().int(), previous_content: sectionsContent.nullable().optional(), provider: z.number().int(), serviced_at: z.string(), signatures: z.array(documentSignature).optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Create Note Amendment V2 * * POST /v2/notes/{note_id}/amendments * * Also accepts auth: RequirePracticeAuthorization */ export const createApiV2NotesNoteIdAmendments = async (args: CreateApiV2NotesNoteIdAmendmentsArgs, options?: CreateApiV2NotesNoteIdAmendmentsOptions) => { const {baseUrl = "https://sandbox.elationemr.com/api/2.0", fetch: fetchFn = fetch, RequireAuthentication} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (RequireAuthentication !== undefined) headers.set('authorization', `Bearer ${RequireAuthentication}`) const url = `${baseUrl.replace(/\/+$/, '')}/v2/notes/${encodeURIComponent(String(args.note_id))}/amendments${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(elationNoteAmendment, await res.json()) };