import {z} from 'zod' export type FollowupParagraphAttrs = {ref_id?: string | undefined}; export type El8NoteModelsNoteSectionsSharedTextBlockMarkTypes = 'bold' | 'italic' | 'strike' | 'underline'; export type TextInlineMark = {type: El8NoteModelsNoteSectionsSharedTextBlockMarkTypes}; export type TextInlineInput = {marks?: Array | undefined, text?: string | undefined, type?: 'text' | undefined}; export type LineBreakInline = {type?: 'lineBreak' | undefined}; export type FollowupParagraphInput = {attrs?: FollowupParagraphAttrs | undefined, content?: (Array) | undefined, type?: 'followUpParagraph' | undefined}; export type AttrsWithRefId = {ref_id?: string | undefined}; export type FollowupOrderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'followUpOrderedList' | undefined}; export type FollowupListItemInput = {attrs?: AttrsWithRefId | undefined, content?: (Array) | undefined, type?: 'followUpListItem' | undefined}; export type FollowupUnorderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'followUpUnorderedList' | undefined}; export type FollowupSectionInput = {content?: (Array) | undefined, type?: 'followUp' | undefined}; export type InstructionParagraphAttrs = {ref_id?: string | undefined}; export type InstructionsParagraphInput = {attrs?: InstructionParagraphAttrs | undefined, content?: (Array) | undefined, type?: 'instructionsParagraph' | undefined}; export type InstructionsOrderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'instructionsOrderedList' | undefined}; export type InstructionsListItemInput = {attrs?: AttrsWithRefId | undefined, content?: (Array) | undefined, type?: 'instructionsListItem' | undefined}; export type InstructionsUnorderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'instructionsUnorderedList' | undefined}; export type InstructionsSectionInput = {content?: (Array) | undefined, type?: 'instructions' | undefined}; export type NarrativeParagraphAttrs = {ref_id?: string | undefined}; export type NarrativeParagraphInput = {attrs?: NarrativeParagraphAttrs | undefined, content?: (Array) | undefined, type?: 'narrativeParagraph' | undefined}; export type NarrativeOrderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'narrativeOrderedList' | undefined}; export type NarrativeListItemInput = {attrs?: AttrsWithRefId | undefined, content?: (Array) | undefined, type?: 'narrativeListItem' | undefined}; export type NarrativeUnorderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'narrativeUnorderedList' | undefined}; export type NarrativeSectionInput = {content?: (Array) | undefined, type?: 'narrative' | undefined}; export type PrescriptionSummary = {created_date?: (string | null) | undefined, days_supply?: (number | null) | undefined, directions?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, instructions_to_pharmacy?: (string | null) | undefined, is_document_med?: (boolean | null) | undefined, medication_display_name: string, medication_id: number, medication_type?: (string | null) | undefined, num_samples?: (number | null) | undefined, quantity?: (string | null) | undefined, quantity_units?: (string | null) | undefined, refills?: (number | null) | undefined, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, type?: (string | null) | undefined}; export type PrescriptionBlockAttrs = {entity_id: number, prescription: PrescriptionSummary, ref_id?: string | undefined}; export type PrescriptionBlockInput = {attrs: PrescriptionBlockAttrs, type?: 'prescription' | undefined}; export type LabOrderFastingMethod = 'fasting_12_hour' | 'fasting_8_hours' | 'fasting_2_hours' | 'fasting_none' | 'fasting_random'; export type LabOrderAOEQuestionChoice = {code: string, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, value: string}; export type QuestionTypeEnum = 'enum' | 'enum_multiselect' | 'freetext' | 'y_or_n' | 'numeric' | 'yyyymmdd' | '2_numeric_1_decimal'; export type LabOrderAOEQuestion = {choices: Array, code: string, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, example_format?: (string | null) | undefined, id?: number | undefined, max_length?: (number | null) | undefined, question_type?: QuestionTypeEnum | undefined, secondary_code?: (string | null) | undefined, value: string}; export type LabOrderTestToLabOrderAOEQuestion = {question: LabOrderAOEQuestion, required?: boolean | undefined, sequence: number, test?: number | undefined}; export type LabOrderTest = {code?: (string | null) | undefined, compendium?: (number | null) | undefined, cpts?: Array | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, lab_vendor?: (number | null) | undefined, name: string, practice_created?: (number | null) | undefined, procedure_class?: (string | null) | undefined, questions?: Array | undefined, synonyms?: Array | undefined}; export type LabOrderSummary = {confidential: boolean, created_date: string, deleted_date?: (string | null) | undefined, fasting_method: LabOrderFastingMethod, icd10_codes?: Array | undefined, id: number, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, tests?: Array | undefined, vendor_id?: (number | null) | undefined}; export type LabOrderBlockAttrsInput = {entity_id: number, order: LabOrderSummary, ref_id?: string | undefined}; export type LabOrderBlockInput = {attrs: LabOrderBlockAttrsInput, type?: 'labOrder' | undefined}; export type ImagingOrderTest = {code?: (string | null) | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, name: string, practice: number}; export type ImagingOrderSummary = {clinical_reason: string, confidential: boolean, created_date?: (string | null) | undefined, date_for_test?: (string | null) | undefined, deleted_date?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, tests?: Array | undefined}; export type ImagingOrderBlockAttrsInput = {entity_id: number, order: ImagingOrderSummary, ref_id?: string | undefined}; export type ImagingOrderBlockInput = {attrs: ImagingOrderBlockAttrsInput, type?: 'imagingOrder' | undefined}; export type El8NoteModelsNoteSectionsSharedReferralSummary = {authorization_for?: (string | null) | undefined, clinical_reason?: (string | null) | undefined, confidential?: boolean | undefined, consultant_name?: (string | null) | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, signed_by_id?: (number | null) | undefined, signed_date?: (string | null) | undefined, specialty_name?: (string | null) | undefined}; export type ReferralBlockAttrs = {entity_id: number, ref_id?: string | undefined, referral: El8NoteModelsNoteSectionsSharedReferralSummary}; export type ReferralBlockInput = {attrs: ReferralBlockAttrs, type?: 'referral' | undefined}; export type CardiacOrderTest = {code?: (string | null) | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, name: string, practice: number}; export type CardiacOrderSummary = {clinical_reason: string, confidential: boolean, created_date?: (string | null) | undefined, date_for_test?: (string | null) | undefined, deleted_date?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, medications?: (string | null) | undefined, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, tests?: Array | undefined}; export type CardiacOrderBlockAttrsInput = {entity_id: number, order: CardiacOrderSummary, ref_id?: string | undefined}; export type CardiacOrderBlockInput = {attrs: CardiacOrderBlockAttrsInput, type?: 'cardiacOrder' | undefined}; export type PulmonaryOrderTest = {code?: (string | null) | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, name: string, practice: number}; export type PulmonaryOrderSummary = {allergies?: (string | null) | undefined, clinical_reason: string, confidential: boolean, created_date?: (string | null) | undefined, date_for_test?: (string | null) | undefined, deleted_date?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, tests?: Array | undefined}; export type PulmonaryOrderBlockAttrsInput = {entity_id: number, order: PulmonaryOrderSummary, ref_id?: string | undefined}; export type PulmonaryOrderBlockInput = {attrs: PulmonaryOrderBlockAttrsInput, type?: 'pulmonaryOrder' | undefined}; export type SleepOrderTest = {code?: (string | null) | undefined, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, name: string, practice: number}; export type SleepOrderSummary = {clinical_reason: string, confidential: boolean, created_date?: (string | null) | undefined, date_for_test?: (string | null) | undefined, deleted_date?: (string | null) | undefined, icd10_codes?: Array | undefined, id: number, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined, tests?: Array | undefined}; export type SleepOrderBlockAttrsInput = {entity_id: number, order: SleepOrderSummary, ref_id?: string | undefined}; export type SleepOrderBlockInput = {attrs: SleepOrderBlockAttrsInput, type?: 'sleepOrder' | undefined}; export type Immunization = {resource_type?: string | undefined, fhir_comments?: (string | Array) | undefined, id?: string | undefined, _id?: string | undefined, implicitRules?: string | undefined, _implicitRules?: string | undefined, language?: string | undefined, _language?: string | undefined, meta?: string | undefined, contained?: Array | undefined, extension?: Array | undefined, modifierExtension?: Array | undefined, text?: string | undefined, doseQuantity?: number | undefined, education?: Array | undefined, encounter?: string | undefined, expirationDate?: string | undefined, _expirationDate?: string | undefined, fundingSource?: string | undefined, identifier?: Array | undefined, isSubpotent?: boolean | undefined, _isSubpotent?: string | undefined, location?: string | undefined, lotNumber?: string | undefined, _lotNumber?: string | undefined, manufacturer?: string | undefined, note?: Array | undefined, occurrenceDateTime?: string | undefined, _occurrenceDateTime?: string | undefined, occurrenceString?: string | undefined, _occurrenceString?: string | undefined, patient: string, performer?: Array | undefined, primarySource?: boolean | undefined, _primarySource?: string | undefined, programEligibility?: Array | undefined, protocolApplied?: Array | undefined, reaction?: Array | undefined, reasonCode?: Array | undefined, reasonReference?: Array | undefined, recorded?: string | undefined, _recorded?: string | undefined, reportOrigin?: string | undefined, route?: string | undefined, site?: string | undefined, status?: string | undefined, _status?: string | undefined, statusReason?: string | undefined, subpotentReason?: Array | undefined, vaccineCode: string}; export type PatientImmunizationAttrsInput = {entity_id: number, immunization: Immunization, ref_id?: string | undefined}; export type PatientImmunizationBlockInput = {attrs: PatientImmunizationAttrsInput, type?: 'patientImmunization' | undefined}; export type InjectionDoseUnit = 'dL' | 'g' | 'kg' | 'kL' | 'L' | 'mCi' | 'mg' | 'mL' | 'ug' | 'uL' | 'tab'; export type InjectionMethod = 'Intravenous' | 'Intramuscular' | 'Subcutaneous' | 'Intradermal' | 'Other'; export type Injection = {deleted_date?: (string | null) | undefined, dose?: (string | null) | undefined, dose_unit?: (InjectionDoseUnit | null) | undefined, given_by_user_id?: (number | null) | undefined, given_date: string, id: number, is_confidential?: boolean | undefined, is_new?: boolean | undefined, method?: (InjectionMethod | null) | undefined, patient_id: number, practice_id: number, reference_medication_id: number, signed_by?: (number | null) | undefined, signed_date?: (string | null) | undefined}; export type InjectionBlockAttrsInput = {entity_id: number, injection: Injection, ref_id?: string | undefined}; export type InjectionBlockInput = {attrs: InjectionBlockAttrsInput, type?: 'injection' | undefined}; export type Content = {base64_content: string, content_type?: string | undefined, original_filename: string}; export type HandoutType = 'Patient Resource' | 'VIS'; export type Handout = {content: Content, created_date?: (string | null) | undefined, deleted_date?: (string | null) | undefined, id?: number | undefined, name: string, practice_created: number, received_date?: string | undefined, tags?: Array | undefined, type: HandoutType, vis_barcode?: (string | null) | undefined}; export type HandoutBlockAttrsInput = {entity_id: number, handout: Handout, ref_id?: string | undefined}; export type HandoutBlockInput = {attrs: HandoutBlockAttrsInput, type?: 'handout' | undefined}; export type OrdersSectionInput = {content?: (Array) | undefined, type?: 'orders' | undefined}; export type CptCode = {code: string, description: string, id: number}; export type ProcedureAttrs = {cpt_code: CptCode, ref_id?: string | undefined}; export type ProcedureInput = {attrs: ProcedureAttrs, type?: 'procedure' | undefined}; export type ProcedureParagraphAttrs = {ref_id?: string | undefined}; export type ProcedureParagraphInput = {attrs?: ProcedureParagraphAttrs | undefined, content?: (Array) | undefined, type?: 'proceduresParagraph' | undefined}; export type ProcedureOrderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'proceduresOrderedList' | undefined}; export type ProcedureListItemInput = {attrs?: AttrsWithRefId | undefined, content?: (Array) | undefined, type?: 'proceduresListItem' | undefined}; export type ProcedureUnorderedListInput = {attrs?: AttrsWithRefId | undefined, content?: Array | undefined, type?: 'proceduresUnorderedList' | undefined}; export type ProcedureSectionInput = {content?: (Array) | undefined, type?: 'procedures' | undefined}; export type ReferencedDocumentData = {id: number, lab_result_id?: (number | null) | undefined, summary?: string | undefined, summary_formatting?: Array | undefined}; export type ReferencedDocumentAttrs = {document: ReferencedDocumentData, ref_id?: string | undefined}; export type ReferencedDocumentInput = {attrs: ReferencedDocumentAttrs, type?: 'referencedDocument' | undefined}; export type ReferencedDocumentsSectionInput = {content?: Array | undefined, type?: 'referencedDocuments' | undefined}; export type VitalBMI = {bmi?: (string | null) | undefined, edited_by_scribe?: boolean | undefined}; export type VitalBP = {bp_d?: string | undefined, bp_s?: string | undefined, edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined}; export type VitalFiO2 = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, percent?: string | undefined}; export type VitalHC = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, hc?: string | undefined, id?: (number | null) | undefined}; export type VitalHeight = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, height?: string | undefined, id?: (number | null) | undefined}; export type VitalHR = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, hr?: string | undefined, id?: (number | null) | undefined}; export type VitalOxygen = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, percent?: string | undefined}; export type VitalPain = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, pain?: string | undefined}; export type VitalRR = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, rr?: string | undefined}; export type VitalTemperature = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, temperature?: string | undefined}; export type VitalWeight = {edited_by_scribe?: boolean | undefined, extra_note?: string | undefined, id?: (number | null) | undefined, weight?: string | undefined}; export type El8NoteModelsNoteSectionsVitalsSectionVitals = {bmi?: Array | undefined, bp?: Array | undefined, fio2?: Array | undefined, hc?: Array | undefined, height?: Array | undefined, hr?: Array | undefined, oxygen?: Array | undefined, pain?: Array | undefined, rr?: Array | undefined, temperature?: Array | undefined, weight?: Array | undefined}; export type VitalsSectionAttrsInput = {ref_id?: string | undefined, vitals?: El8NoteModelsNoteSectionsVitalsSectionVitals | undefined, vitals_collection_id?: (number | null) | undefined}; export type VitalsSectionInput = {attrs?: VitalsSectionAttrsInput | undefined, type?: 'vitals' | undefined}; export type ContentMapInput = {followUp?: (FollowupSectionInput | null) | undefined, instructions?: (InstructionsSectionInput | null) | undefined, narrative?: (NarrativeSectionInput | null) | undefined, orders?: (OrdersSectionInput | null) | undefined, procedures?: (ProcedureSectionInput | null) | undefined, referencedDocuments?: (ReferencedDocumentsSectionInput | null) | undefined, vitals?: (VitalsSectionInput | null) | undefined}; export type ElationNoteAmendmentUpdate = {bill?: (number | null) | undefined, category?: (number | null) | undefined, content_map?: (ContentMapInput | null) | undefined, exam_reason?: (string | null) | undefined, metadata?: ({[key: string]: unknown} | null) | undefined, provider?: (number | null) | undefined, serviced_at?: (string | null) | undefined, snapshot_id?: (number | null) | undefined}; export type PatchApiV2NotesNoteIdAmendmentsAmendmentIdArgs = {note_id: number, amendment_id: number, body: ElationNoteAmendmentUpdate}; export type PatchApiV2NotesNoteIdAmendmentsAmendmentIdOptions = {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 }; /** * Update Note Amendment By Id V2 * * PATCH /v2/notes/{note_id}/amendments/{amendment_id} * * Also accepts auth: RequirePracticeAuthorization */ export const patchApiV2NotesNoteIdAmendmentsAmendmentId = async (args: PatchApiV2NotesNoteIdAmendmentsAmendmentIdArgs, options?: PatchApiV2NotesNoteIdAmendmentsAmendmentIdOptions) => { const {baseUrl = "https://sandbox.elationemr.com/api/2.0", fetch: fetchFn = fetch, RequireAuthentication} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") 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/${encodeURIComponent(String(args.amendment_id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) 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()) };