feat: chatbot rendering provider override and NPI provider ordering

- AI chat extracts 'with provider <name>' and routes claim to that provider
- Claim form reads provider from sessionStorage before any async effects run,
  preventing saved claim/procedure data from overriding the chatbot selection
- NPI provider settings table shows Provider #1 / #2 labels with up/down
  reorder buttons; Provider #1 is always the default for claims
- Default provider now uses sortOrder instead of hardcoded 'Mary Scannell'
- Added sortOrder column to NpiProvider schema with migration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gitead
2026-06-11 13:17:05 -04:00
parent d4b9c1b889
commit 75c49ab1df
77 changed files with 385 additions and 105 deletions

File diff suppressed because one or more lines are too long

View File

@@ -194,6 +194,7 @@ exports.Prisma.NpiProviderScalarFieldEnum = {
userId: 'userId',
npiNumber: 'npiNumber',
providerName: 'providerName',
sortOrder: 'sortOrder',
createdAt: 'createdAt'
};

View File

@@ -11572,11 +11572,13 @@ export namespace Prisma {
export type NpiProviderAvgAggregateOutputType = {
id: number | null
userId: number | null
sortOrder: number | null
}
export type NpiProviderSumAggregateOutputType = {
id: number | null
userId: number | null
sortOrder: number | null
}
export type NpiProviderMinAggregateOutputType = {
@@ -11584,6 +11586,7 @@ export namespace Prisma {
userId: number | null
npiNumber: string | null
providerName: string | null
sortOrder: number | null
createdAt: Date | null
}
@@ -11592,6 +11595,7 @@ export namespace Prisma {
userId: number | null
npiNumber: string | null
providerName: string | null
sortOrder: number | null
createdAt: Date | null
}
@@ -11600,6 +11604,7 @@ export namespace Prisma {
userId: number
npiNumber: number
providerName: number
sortOrder: number
createdAt: number
_all: number
}
@@ -11608,11 +11613,13 @@ export namespace Prisma {
export type NpiProviderAvgAggregateInputType = {
id?: true
userId?: true
sortOrder?: true
}
export type NpiProviderSumAggregateInputType = {
id?: true
userId?: true
sortOrder?: true
}
export type NpiProviderMinAggregateInputType = {
@@ -11620,6 +11627,7 @@ export namespace Prisma {
userId?: true
npiNumber?: true
providerName?: true
sortOrder?: true
createdAt?: true
}
@@ -11628,6 +11636,7 @@ export namespace Prisma {
userId?: true
npiNumber?: true
providerName?: true
sortOrder?: true
createdAt?: true
}
@@ -11636,6 +11645,7 @@ export namespace Prisma {
userId?: true
npiNumber?: true
providerName?: true
sortOrder?: true
createdAt?: true
_all?: true
}
@@ -11731,6 +11741,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder: number
createdAt: Date
_count: NpiProviderCountAggregateOutputType | null
_avg: NpiProviderAvgAggregateOutputType | null
@@ -11758,6 +11769,7 @@ export namespace Prisma {
userId?: boolean
npiNumber?: boolean
providerName?: boolean
sortOrder?: boolean
createdAt?: boolean
user?: boolean | UserDefaultArgs<ExtArgs>
claims?: boolean | NpiProvider$claimsArgs<ExtArgs>
@@ -11772,6 +11784,7 @@ export namespace Prisma {
userId?: boolean
npiNumber?: boolean
providerName?: boolean
sortOrder?: boolean
createdAt?: boolean
user?: boolean | UserDefaultArgs<ExtArgs>
}, ExtArgs["result"]["npiProvider"]>
@@ -11781,6 +11794,7 @@ export namespace Prisma {
userId?: boolean
npiNumber?: boolean
providerName?: boolean
sortOrder?: boolean
createdAt?: boolean
user?: boolean | UserDefaultArgs<ExtArgs>
}, ExtArgs["result"]["npiProvider"]>
@@ -11790,10 +11804,11 @@ export namespace Prisma {
userId?: boolean
npiNumber?: boolean
providerName?: boolean
sortOrder?: boolean
createdAt?: boolean
}
export type NpiProviderOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "npiNumber" | "providerName" | "createdAt", ExtArgs["result"]["npiProvider"]>
export type NpiProviderOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "userId" | "npiNumber" | "providerName" | "sortOrder" | "createdAt", ExtArgs["result"]["npiProvider"]>
export type NpiProviderInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
user?: boolean | UserDefaultArgs<ExtArgs>
claims?: boolean | NpiProvider$claimsArgs<ExtArgs>
@@ -11823,6 +11838,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder: number
createdAt: Date
}, ExtArgs["result"]["npiProvider"]>
composites: {}
@@ -12256,6 +12272,7 @@ export namespace Prisma {
readonly userId: FieldRef<"NpiProvider", 'Int'>
readonly npiNumber: FieldRef<"NpiProvider", 'String'>
readonly providerName: FieldRef<"NpiProvider", 'String'>
readonly sortOrder: FieldRef<"NpiProvider", 'Int'>
readonly createdAt: FieldRef<"NpiProvider", 'DateTime'>
}
@@ -45547,6 +45564,7 @@ export namespace Prisma {
userId: 'userId',
npiNumber: 'npiNumber',
providerName: 'providerName',
sortOrder: 'sortOrder',
createdAt: 'createdAt'
};
@@ -46839,6 +46857,7 @@ export namespace Prisma {
userId?: IntFilter<"NpiProvider"> | number
npiNumber?: StringFilter<"NpiProvider"> | string
providerName?: StringFilter<"NpiProvider"> | string
sortOrder?: IntFilter<"NpiProvider"> | number
createdAt?: DateTimeFilter<"NpiProvider"> | Date | string
user?: XOR<UserScalarRelationFilter, UserWhereInput>
claims?: ClaimListRelationFilter
@@ -46852,6 +46871,7 @@ export namespace Prisma {
userId?: SortOrder
npiNumber?: SortOrder
providerName?: SortOrder
sortOrder?: SortOrder
createdAt?: SortOrder
user?: UserOrderByWithRelationInput
claims?: ClaimOrderByRelationAggregateInput
@@ -46869,6 +46889,7 @@ export namespace Prisma {
userId?: IntFilter<"NpiProvider"> | number
npiNumber?: StringFilter<"NpiProvider"> | string
providerName?: StringFilter<"NpiProvider"> | string
sortOrder?: IntFilter<"NpiProvider"> | number
createdAt?: DateTimeFilter<"NpiProvider"> | Date | string
user?: XOR<UserScalarRelationFilter, UserWhereInput>
claims?: ClaimListRelationFilter
@@ -46882,6 +46903,7 @@ export namespace Prisma {
userId?: SortOrder
npiNumber?: SortOrder
providerName?: SortOrder
sortOrder?: SortOrder
createdAt?: SortOrder
_count?: NpiProviderCountOrderByAggregateInput
_avg?: NpiProviderAvgOrderByAggregateInput
@@ -46898,6 +46920,7 @@ export namespace Prisma {
userId?: IntWithAggregatesFilter<"NpiProvider"> | number
npiNumber?: StringWithAggregatesFilter<"NpiProvider"> | string
providerName?: StringWithAggregatesFilter<"NpiProvider"> | string
sortOrder?: IntWithAggregatesFilter<"NpiProvider"> | number
createdAt?: DateTimeWithAggregatesFilter<"NpiProvider"> | Date | string
}
@@ -49635,6 +49658,7 @@ export namespace Prisma {
export type NpiProviderCreateInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
user: UserCreateNestedOneWithoutNpiProvidersInput
claims?: ClaimCreateNestedManyWithoutNpiProviderInput
@@ -49648,6 +49672,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimUncheckedCreateNestedManyWithoutNpiProviderInput
payments?: PaymentUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -49658,6 +49683,7 @@ export namespace Prisma {
export type NpiProviderUpdateInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutNpiProvidersNestedInput
claims?: ClaimUpdateManyWithoutNpiProviderNestedInput
@@ -49671,6 +49697,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput
payments?: PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -49683,12 +49710,14 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
}
export type NpiProviderUpdateManyMutationInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -49697,6 +49726,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -52523,12 +52553,14 @@ export namespace Prisma {
userId?: SortOrder
npiNumber?: SortOrder
providerName?: SortOrder
sortOrder?: SortOrder
createdAt?: SortOrder
}
export type NpiProviderAvgOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
sortOrder?: SortOrder
}
export type NpiProviderMaxOrderByAggregateInput = {
@@ -52536,6 +52568,7 @@ export namespace Prisma {
userId?: SortOrder
npiNumber?: SortOrder
providerName?: SortOrder
sortOrder?: SortOrder
createdAt?: SortOrder
}
@@ -52544,12 +52577,14 @@ export namespace Prisma {
userId?: SortOrder
npiNumber?: SortOrder
providerName?: SortOrder
sortOrder?: SortOrder
createdAt?: SortOrder
}
export type NpiProviderSumOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
sortOrder?: SortOrder
}
export type IntNullableFilter<$PrismaModel = never> = {
@@ -58038,6 +58073,7 @@ export namespace Prisma {
export type NpiProviderCreateWithoutUserInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimCreateNestedManyWithoutNpiProviderInput
payments?: PaymentCreateNestedManyWithoutNpiProviderInput
@@ -58049,6 +58085,7 @@ export namespace Prisma {
id?: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimUncheckedCreateNestedManyWithoutNpiProviderInput
payments?: PaymentUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -58696,6 +58733,7 @@ export namespace Prisma {
userId?: IntFilter<"NpiProvider"> | number
npiNumber?: StringFilter<"NpiProvider"> | string
providerName?: StringFilter<"NpiProvider"> | string
sortOrder?: IntFilter<"NpiProvider"> | number
createdAt?: DateTimeFilter<"NpiProvider"> | Date | string
}
@@ -61253,6 +61291,7 @@ export namespace Prisma {
export type NpiProviderCreateWithoutAppointmentProceduresInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
user: UserCreateNestedOneWithoutNpiProvidersInput
claims?: ClaimCreateNestedManyWithoutNpiProviderInput
@@ -61265,6 +61304,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimUncheckedCreateNestedManyWithoutNpiProviderInput
payments?: PaymentUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -61416,6 +61456,7 @@ export namespace Prisma {
export type NpiProviderUpdateWithoutAppointmentProceduresInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutNpiProvidersNestedInput
claims?: ClaimUpdateManyWithoutNpiProviderNestedInput
@@ -61428,6 +61469,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput
payments?: PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -61637,6 +61679,7 @@ export namespace Prisma {
export type NpiProviderCreateWithoutClaimsInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
user: UserCreateNestedOneWithoutNpiProvidersInput
payments?: PaymentCreateNestedManyWithoutNpiProviderInput
@@ -61649,6 +61692,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
payments?: PaymentUncheckedCreateNestedManyWithoutNpiProviderInput
commissionBatches?: CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -62020,6 +62064,7 @@ export namespace Prisma {
export type NpiProviderUpdateWithoutClaimsInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutNpiProvidersNestedInput
payments?: PaymentUpdateManyWithoutNpiProviderNestedInput
@@ -62032,6 +62077,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
payments?: PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput
commissionBatches?: CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -63227,6 +63273,7 @@ export namespace Prisma {
export type NpiProviderCreateWithoutPaymentsInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
user: UserCreateNestedOneWithoutNpiProvidersInput
claims?: ClaimCreateNestedManyWithoutNpiProviderInput
@@ -63239,6 +63286,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimUncheckedCreateNestedManyWithoutNpiProviderInput
commissionBatches?: CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -63567,6 +63615,7 @@ export namespace Prisma {
export type NpiProviderUpdateWithoutPaymentsInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutNpiProvidersNestedInput
claims?: ClaimUpdateManyWithoutNpiProviderNestedInput
@@ -63579,6 +63628,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput
commissionBatches?: CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -66388,6 +66438,7 @@ export namespace Prisma {
export type NpiProviderCreateWithoutCommissionBatchesInput = {
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
user: UserCreateNestedOneWithoutNpiProvidersInput
claims?: ClaimCreateNestedManyWithoutNpiProviderInput
@@ -66400,6 +66451,7 @@ export namespace Prisma {
userId: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
claims?: ClaimUncheckedCreateNestedManyWithoutNpiProviderInput
payments?: PaymentUncheckedCreateNestedManyWithoutNpiProviderInput
@@ -66446,6 +66498,7 @@ export namespace Prisma {
export type NpiProviderUpdateWithoutCommissionBatchesInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutNpiProvidersNestedInput
claims?: ClaimUpdateManyWithoutNpiProviderNestedInput
@@ -66458,6 +66511,7 @@ export namespace Prisma {
userId?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput
payments?: PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -66690,6 +66744,7 @@ export namespace Prisma {
id?: number
npiNumber: string
providerName: string
sortOrder?: number
createdAt?: Date | string
}
@@ -66996,6 +67051,7 @@ export namespace Prisma {
export type NpiProviderUpdateWithoutUserInput = {
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUpdateManyWithoutNpiProviderNestedInput
payments?: PaymentUpdateManyWithoutNpiProviderNestedInput
@@ -67007,6 +67063,7 @@ export namespace Prisma {
id?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
claims?: ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput
payments?: PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput
@@ -67018,6 +67075,7 @@ export namespace Prisma {
id?: IntFieldUpdateOperationsInput | number
npiNumber?: StringFieldUpdateOperationsInput | string
providerName?: StringFieldUpdateOperationsInput | string
sortOrder?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"name": "prisma-client-81ca44b9d3e5c16b41f6767b04f58e5bfe8927e8c0e21f3f03dff81c6db38733",
"name": "prisma-client-a8d4bc304c12e798930e60b1098ae5812d0c1102c722be6392ad354a9e581c9a",
"main": "index.js",
"types": "index.d.ts",
"browser": "default.js",

View File

@@ -151,6 +151,7 @@ model NpiProvider {
userId Int
npiNumber String
providerName String
sortOrder Int @default(0)
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)