@mindbill/react 0.42.4 → 0.44.0

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.
package/README.md CHANGED
@@ -120,8 +120,11 @@ snapshot and authenticated copies of its documents. API-provided rejection
120
120
  `fieldPaths` call attention to likely problem controls, and payer contact
121
121
  guidance remains visible while the user corrects the bill. Submitting creates
122
122
  the next immutable attempt under the same logical `billId`; the original
123
- attempt and rejection remain in history. The host application does not build a
124
- second correction form or pass bill seed data back into the lifecycle.
123
+ attempt and rejection remain in history. Submit first opens a required delivery
124
+ confirmation for the corrected administrator and selected subpayor, where the
125
+ biller can verify or switch among e-bill, fax, email, and mail. Nothing is sent
126
+ until that second confirmation is submitted. The host application does not
127
+ build a second correction form or pass bill seed data back into the lifecycle.
125
128
 
126
129
  For a **closed** bill the server authorizes exactly two actions — **Reopen**
127
130
  and **Submit New Bill**. Submit New Bill opens the same `BillSubmissionForm`,
@@ -335,7 +338,13 @@ const data = buildBillTasksDashboard(workItems, [
335
338
  />
336
339
  ```
337
340
 
338
- `BillSubmissionsRibbon` renders a horizontal row of submission chips (Original Bill, Second Review, Duplicate Bill, …) with an optional deadline badge and up to three label/value meta pairs; `billSubmissionsRibbonFromHistory` maps the presented history's submission rows into chips.
341
+ `BillSubmissionsRibbon` renders a horizontal row of selectable submission chips
342
+ (Original Bill, Second Review, Duplicate Bill, …). Each chip summarizes its
343
+ attempt's latest acknowledgement or payment state — for example `277 Reject`
344
+ or `Payment in 30 working days` — plus delivery, sent date, and the relevant
345
+ reject/effective date. `billSubmissionsRibbonFromHistory` derives those chips
346
+ from one unified history across every attempt. In `ConnectedBillLifecycle`, a
347
+ chip click opens that shared history and highlights the selected submission.
339
348
 
340
349
  `ReportBillStatusDialog` records the outcome of a payment-status phone call to the Claims Administrator / Bill Review vendor: payer contacts, the host-rendered submission receipt (for example a `BillHistoryTable`), and the five standard reported statuses (`REPORT_BILL_STATUS_OPTIONS`). The host posts the resulting `ReportBillStatusInput` through its own lifecycle action call.
341
350
 
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { MindBillAppearance, MindBillEventDetail, MindBillErrorDetail } from '@mindbill/embed';
2
2
  export { MindBillAppearance, MindBillErrorDetail, MindBillEventDetail } from '@mindbill/embed';
3
3
  import { CSSProperties, ReactElement, ReactNode } from 'react';
4
- import { BillReviewData as BillReviewData$1, BillLifecycleDelivery, BillReviewAttachment as BillReviewAttachment$1, BillReviewPayerOption, BrowserBillSubmissionResult, BillLifecycleSessionProvider, BillReviewPayerListInput, BillReviewPayerPage, BillReviewPayer as BillReviewPayer$1, BillClaimsAdministratorDirectory, BillClaimsAdministratorSource, BrowserBillSubmissionDocument, BillDeliveryOptions as BillDeliveryOptions$1, SubmitBillInput, BillTasksDashboardData, BillTasksAgingBucket, BillHistoryEntry, ReportBillStatusInput, OrganizationProfileData, BillRemittanceSummary, BillEorDocument, BillPaymentRecord, BillLifecycleAction, BillRejection, BillLifecycleData, BillLifecycleClientOptions, BillLifecycleClient } from '@mindbill/browser';
4
+ import { BillReviewData as BillReviewData$1, BillLifecycleDelivery, BillReviewAttachment as BillReviewAttachment$1, SubmitBillInput, BillDeliveryOptions as BillDeliveryOptions$1, BillReviewPayerOption, BrowserBillSubmissionResult, BillLifecycleSessionProvider, BillReviewPayerListInput, BillReviewPayerPage, BillReviewPayer as BillReviewPayer$1, BillClaimsAdministratorDirectory, BillClaimsAdministratorSource, BrowserBillSubmissionDocument, BillTasksDashboardData, BillTasksAgingBucket, BillHistoryEntry, BillAttemptSummary, ReportBillStatusInput, OrganizationProfileData, BillRemittanceSummary, BillEorDocument, BillPaymentRecord, BillLifecycleAction, BillRejection, BillLifecycleData, BillLifecycleClientOptions, BillLifecycleClient, SubmitSecondReviewInput } from '@mindbill/browser';
5
5
  export { BILL_TASKS_AGING_BUCKETS, BillActivityRecord, BillClaimsAdministratorContact, BillClaimsAdministratorDirectory, BillClaimsAdministratorMailingAddress, BillClaimsAdministratorPattern, BillClaimsAdministratorPayer, BillClaimsAdministratorSource, BillEorDocument, BillLifecycleAction, BillLifecycleActionId, BillLifecycleClient, BillLifecycleClientOptions, BillLifecycleData, BillLifecycleDelivery, BillLifecycleSession, BillLifecycleSessionProvider, BillLifecycleSessionRequest, BillPaymentRecord, BillRejection, BillRemittanceSummary, BillReviewPayerOption, BillReviewPayerSuggestion, BillTasksAgingBucket, BillTasksDashboardData, BillTasksDashboardItem, BillTasksDashboardRow, BillTasksDashboardSection, BillTasksDashboardSectionInput, BillTasksDashboardTone, BrowserBillSubmissionResult, CloseBillInput, PostBillPaymentInput, REPORT_BILL_STATUS_OPTIONS, ReopenBillInput, ReportBillStatusContacts, ReportBillStatusId, ReportBillStatusInput, SECOND_REVIEW_REASON_TEMPLATE, SECOND_REVIEW_WINDOW_DAYS, SecondReviewDeadline, SendDuplicateBillInput, SubmitSecondReviewInput, billTasksAgingBucketIndex, buildBillTasksDashboard, createBillLifecycleClient, reportBillStatusContacts, secondReviewDeadline } from '@mindbill/browser';
6
6
 
7
- type MindBillThemePreset = "mindbill" | "qme-companion" | "orange-bright" | "clinical-blue" | "midnight-cyan";
7
+ type MindBillThemePreset = "mindbill" | "qme-companion" | "calm-clinical" | "orange-bright" | "clinical-blue" | "midnight-cyan";
8
8
  type MindBillReactAppearance = MindBillAppearance & {
9
9
  /** A complete starting point. Individual tokens below always win. */
10
10
  preset?: MindBillThemePreset;
@@ -50,6 +50,23 @@ declare const mindBillThemePresets: {
50
50
  readonly warningColor: "#9a6418";
51
51
  readonly fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif";
52
52
  };
53
+ readonly "calm-clinical": {
54
+ readonly accentColor: "#52b4d7";
55
+ readonly accentTextColor: "#173542";
56
+ readonly backgroundColor: "#f2f8fb";
57
+ readonly surfaceColor: "#ffffff";
58
+ readonly inputBackgroundColor: "#ffffff";
59
+ readonly textColor: "#20323c";
60
+ readonly mutedColor: "#687b84";
61
+ readonly borderColor: "#d8e4e9";
62
+ readonly borderRadius: "12px";
63
+ readonly controlRadius: "8px";
64
+ readonly shadow: "0 1px 2px rgba(32,50,60,.05)";
65
+ readonly dangerColor: "#b83f3a";
66
+ readonly successColor: "#21835d";
67
+ readonly warningColor: "#9a6418";
68
+ readonly fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif";
69
+ };
53
70
  readonly "orange-bright": {
54
71
  readonly accentColor: "#f4510b";
55
72
  readonly accentTextColor: "#ffffff";
@@ -384,6 +401,24 @@ type BillReadOnlyFormProps = {
384
401
  };
385
402
  declare function BillReadOnlyForm({ data, appearance, className, style, onOpenAttachment }: BillReadOnlyFormProps): ReactElement;
386
403
 
404
+ /** First plausible email address inside a raw contact string, or null. */
405
+ declare function extractSendRouteEmail(raw: string | null | undefined): string | null;
406
+ /** "(213) 555-0199" for 10/11-digit US numbers; anything else trimmed as-is. */
407
+ declare function formatSendRouteFax(raw: string | null | undefined): string;
408
+ type SendRouteSubmission = Pick<SubmitBillInput, "route" | "destination" | "attention" | "subject" | "note" | "cc">;
409
+ type SendRouteDialogProps = {
410
+ /** Dialog heading, e.g. "Send bill". */
411
+ title?: ReactNode;
412
+ delivery: BillDeliveryOptions$1;
413
+ submitting?: boolean;
414
+ /** Disables the confirm button while the caller uploads documents. */
415
+ disabled?: boolean;
416
+ error?: string | null;
417
+ onCancel: () => void;
418
+ onConfirm: (submission: SendRouteSubmission) => void;
419
+ };
420
+ declare function SendRouteDialog({ title, delivery, submitting, disabled, error, onCancel, onConfirm, }: SendRouteDialogProps): ReactElement;
421
+
387
422
  declare const BILL_SUBMISSION_DOCUMENT_TYPES: readonly ["final_report", "proof_of_service", "letter_of_attestation", "form_122", "return_to_work_voucher", "w9", "medical_records", "appeal", "other"];
388
423
  type BillSubmissionDocumentType = (typeof BILL_SUBMISSION_DOCUMENT_TYPES)[number];
389
424
  type BillSubmissionAttachmentReportTypeMode = "auto" | "hidden" | "visible";
@@ -549,6 +584,8 @@ type BillSubmissionUpload = {
549
584
  };
550
585
  type BillSubmissionFormValue = {
551
586
  bill: CompleteBillSubmissionInput;
587
+ /** Delivery route explicitly confirmed by the biller, when the route picker is enabled. */
588
+ submission?: SendRouteSubmission;
552
589
  sourceAttachmentIds: string[];
553
590
  sourceAttachmentReportTypes: Record<string, string>;
554
591
  uploads: BillSubmissionUpload[];
@@ -586,10 +623,13 @@ type BillSubmissionFormProps = {
586
623
  taxonomyOptions?: BillSubmissionTaxonomyOption[];
587
624
  /**
588
625
  * The delivery-method dialog shown when the biller submits.
589
- * "auto" (default) shows it in connected mode whenever the delivery preview
590
- * is available; "off" submits directly on MindBill's recommended route.
626
+ * "auto" (default) shows it whenever the delivery preview is available;
627
+ * "required" fails closed until the biller confirms a route; "off" submits
628
+ * directly on MindBill's recommended route.
591
629
  */
592
- deliveryRoutePicker?: "auto" | "off";
630
+ deliveryRoutePicker?: "auto" | "required" | "off";
631
+ /** Heading for the delivery confirmation dialog. */
632
+ deliveryRouteDialogTitle?: ReactNode;
593
633
  /** Auto hides and forces J4 for med-legal bills; treatment bills show the full report-type directory. */
594
634
  attachmentReportTypeMode?: BillSubmissionAttachmentReportTypeMode;
595
635
  attachmentReportTypes?: readonly BillSubmissionReportTypeOption[];
@@ -659,25 +699,7 @@ declare function BillSubmissionProvidersSection(): ReactElement;
659
699
  declare function BillSubmissionServiceLinesSection(): ReactElement;
660
700
  declare function BillSubmissionAttachmentsSection(): ReactElement;
661
701
  declare function BillSubmissionActions(): ReactElement;
662
- declare function BillSubmissionForm({ initialBill, attachments, onSubmit, onSubmitted, getSession, sessionEndpoint, apiBaseUrl, fetch: fetchOverride, onListClaimsAdministrators, onSearchClaimsAdministrators, onGetClaimsAdministratorDirectory, claimsAdministratorSources, claimsAdministratorHint, diagnosisOptions, onSearchDiagnoses, onLookupPostalCode, procedureOptions, modifierOptions, taxonomyOptions, deliveryRoutePicker, attachmentReportTypeMode, attachmentReportTypes, defaultAttachmentReportType, appearance, className, style, disabled, submitLabel, heading, description, attentionFields, attentionMessage, children, }: BillSubmissionFormProps): ReactElement;
663
-
664
- /** First plausible email address inside a raw contact string, or null. */
665
- declare function extractSendRouteEmail(raw: string | null | undefined): string | null;
666
- /** "(213) 555-0199" for 10/11-digit US numbers; anything else trimmed as-is. */
667
- declare function formatSendRouteFax(raw: string | null | undefined): string;
668
- type SendRouteSubmission = Pick<SubmitBillInput, "route" | "destination" | "attention" | "subject" | "note" | "cc">;
669
- type SendRouteDialogProps = {
670
- /** Dialog heading, e.g. "Send bill". */
671
- title?: ReactNode;
672
- delivery: BillDeliveryOptions$1;
673
- submitting?: boolean;
674
- /** Disables the confirm button while the caller uploads documents. */
675
- disabled?: boolean;
676
- error?: string | null;
677
- onCancel: () => void;
678
- onConfirm: (submission: SendRouteSubmission) => void;
679
- };
680
- declare function SendRouteDialog({ title, delivery, submitting, disabled, error, onCancel, onConfirm, }: SendRouteDialogProps): ReactElement;
702
+ declare function BillSubmissionForm({ initialBill, attachments, onSubmit, onSubmitted, getSession, sessionEndpoint, apiBaseUrl, fetch: fetchOverride, onListClaimsAdministrators, onSearchClaimsAdministrators, onGetClaimsAdministratorDirectory, claimsAdministratorSources, claimsAdministratorHint, diagnosisOptions, onSearchDiagnoses, onLookupPostalCode, procedureOptions, modifierOptions, taxonomyOptions, deliveryRoutePicker, deliveryRouteDialogTitle, attachmentReportTypeMode, attachmentReportTypes, defaultAttachmentReportType, appearance, className, style, disabled, submitLabel, heading, description, attentionFields, attentionMessage, children, }: BillSubmissionFormProps): ReactElement;
681
703
 
682
704
  /** Public-domain and MindBill-owned metadata. CPT descriptions are intentionally limited to the curated catalog. */
683
705
  declare const DEFAULT_BILL_SUBMISSION_PROCEDURES: BillSubmissionProcedureOption[];
@@ -846,10 +868,14 @@ type SurfaceProps$2 = {
846
868
  };
847
869
  type BillSubmissionRibbonItem = {
848
870
  id: string;
871
+ /** Submission history row to reveal when this attempt is selected. */
872
+ historyEntryId?: string;
849
873
  /** "Original Bill" | "Second Review" | "Duplicate Bill" | … */
850
874
  label: string;
851
875
  /** Small rounded badge, e.g. "Denial in 3 working days". */
852
876
  badge?: string;
877
+ /** Semantic color for the status badge. */
878
+ badgeTone?: "neutral" | "success" | "warning" | "danger";
853
879
  /** Up to three label/value pairs rendered under the label. */
854
880
  meta?: Array<{
855
881
  label: string;
@@ -864,8 +890,11 @@ type BillSubmissionsRibbonProps = SurfaceProps$2 & {
864
890
  };
865
891
  /** Maps a presented-history submission summary to its delivery route word. */
866
892
  declare function billSubmissionsRibbonDeliveryLabel(summary: string): string;
867
- /** Builds ribbon items from MindBill's presented history (submission rows only). */
868
- declare function billSubmissionsRibbonFromHistory(history: BillHistoryEntry[]): BillSubmissionRibbonItem[];
893
+ /**
894
+ * Builds one item per immutable submission attempt. Each card summarizes the
895
+ * payer events following that attempt, while the full history remains unified.
896
+ */
897
+ declare function billSubmissionsRibbonFromHistory(history: BillHistoryEntry[], attempts?: BillAttemptSummary[]): BillSubmissionRibbonItem[];
869
898
  declare function BillSubmissionsRibbon({ items, onSelect, appearance, className, style, }: BillSubmissionsRibbonProps): ReactElement;
870
899
 
871
900
  type SurfaceProps$1 = {
@@ -887,6 +916,8 @@ type ReportBillStatusDialogProps = SurfaceProps$1 & {
887
916
  name: string;
888
917
  phone?: string;
889
918
  };
919
+ /** Complete partner-safe payer directory details shown before the biller calls. */
920
+ directory?: BillClaimsAdministratorDirectory;
890
921
  /** Host renders its submission receipt, e.g. a BillHistoryTable. */
891
922
  receipt?: ReactNode;
892
923
  submitting?: boolean;
@@ -894,7 +925,7 @@ type ReportBillStatusDialogProps = SurfaceProps$1 & {
894
925
  onCancel: () => void;
895
926
  onSave: (input: ReportBillStatusInput) => void;
896
927
  };
897
- declare function ReportBillStatusDialog({ title, claimsAdmin, billReview, receipt, submitting, error, onCancel, onSave, appearance, className, style, }: ReportBillStatusDialogProps): ReactElement;
928
+ declare function ReportBillStatusDialog({ title, claimsAdmin, billReview, directory, receipt, submitting, error, onCancel, onSave, appearance, className, style, }: ReportBillStatusDialogProps): ReactElement;
898
929
 
899
930
  type OrganizationOnboardingProps = {
900
931
  appearance?: MindBillReactAppearance;
@@ -1010,6 +1041,8 @@ declare function billActivityEventLabel(type: string): string;
1010
1041
  declare function BillActivityTimeline({ events, emptyLabel, appearance, className, style, formatDate }: BillActivityTimelineProps): ReactElement;
1011
1042
  type BillHistoryTableProps = SurfaceProps & {
1012
1043
  entries: readonly BillHistoryEntry[];
1044
+ /** History row selected from the submissions ribbon. */
1045
+ selectedEntryId?: string;
1013
1046
  emptyLabel?: string;
1014
1047
  /** Formats the Date column. Defaults to MM/DD/YYYY. */
1015
1048
  formatDate?: (iso: string) => string;
@@ -1030,7 +1063,7 @@ type BillHistoryTableProps = SurfaceProps & {
1030
1063
  * are pale-yellow, and 277 responses expand into decoded status-code sentences. The
1031
1064
  * rows come pre-worded from the MindBill API (`BillLifecycleData.history`).
1032
1065
  */
1033
- declare function BillHistoryTable({ entries, emptyLabel, appearance, className, style, formatDate, documentHref, onOpenDocument }: BillHistoryTableProps): ReactElement;
1066
+ declare function BillHistoryTable({ entries, selectedEntryId, emptyLabel, appearance, className, style, formatDate, documentHref, onOpenDocument }: BillHistoryTableProps): ReactElement;
1034
1067
  type BillLifecycleStage = "submitted" | "accepted" | "processed" | "closed";
1035
1068
  /** Maps MindBill's detailed lifecycle state into a compact progress stage. */
1036
1069
  declare function billLifecycleStage(state: string): BillLifecycleStage;
@@ -1153,6 +1186,196 @@ type ClaimsAdministratorDirectoryDialogProps = {
1153
1186
  };
1154
1187
  declare function ClaimsAdministratorDirectoryDialog({ open, directory, loading, error, onClose }: ClaimsAdministratorDirectoryDialogProps): ReactElement | null;
1155
1188
 
1189
+ declare const SECOND_REVIEW_REASON_TEMPLATES: readonly [{
1190
+ readonly label: "Med-legal report denied";
1191
+ readonly value: "The attached medical-legal report satisfies the applicable requirements for a compensable medical-legal evaluation. Please reprocess this service and issue payment under the Medical-Legal Fee Schedule.";
1192
+ }, {
1193
+ readonly label: "Supporting documentation was provided";
1194
+ readonly value: "The EOR incorrectly states that supporting documentation was not received. The original electronic submission included the required documentation and was acknowledged as accepted. Please reprocess this service.";
1195
+ }, {
1196
+ readonly label: "Payment missing or not received";
1197
+ readonly value: "The EOR reports payment, but the funds have not been received or deposited by the provider. Please issue or reissue payment and pay the remaining fee-schedule balance, including applicable penalty and interest.";
1198
+ }, {
1199
+ readonly label: "PPO or network reduction unsupported";
1200
+ readonly value: "The EOR applies a PPO or network discount, but the provider has no agreement authorizing this reduction. Please demonstrate entitlement to the contracted rate or reprocess this service under the applicable fee schedule.";
1201
+ }, {
1202
+ readonly label: "Service was authorized";
1203
+ readonly value: "The billed service was authorized. Please reprocess this service and issue payment; the supporting authorization is included with this request.";
1204
+ }, {
1205
+ readonly label: "Correct units or modifiers";
1206
+ readonly value: "The units or modifiers on this service have been corrected on the accompanying modified bill. Please reprocess the service using the corrected billing information.";
1207
+ }, {
1208
+ readonly label: "Fee schedule incorrectly applied";
1209
+ readonly value: "The applicable fee schedule was incorrectly applied to this service. Please recalculate the allowed amount under the governing fee schedule and issue the additional payment due.";
1210
+ }, {
1211
+ readonly label: "Treatment before liability decision";
1212
+ readonly value: "This service was provided before the claims administrator accepted or denied liability and was authorized under California Labor Code section 5402(c). Please reprocess this service and issue payment.";
1213
+ }];
1214
+ type SecondReviewFormProps = {
1215
+ data: BillLifecycleData;
1216
+ submitting?: boolean;
1217
+ error?: Error | null;
1218
+ fetch?: typeof globalThis.fetch;
1219
+ getDeliveryOptions: () => Promise<BillDeliveryOptions$1>;
1220
+ openAttachment: (attachment: {
1221
+ id: string;
1222
+ }) => Promise<void>;
1223
+ onCancel: () => void;
1224
+ onSubmit: (input: SubmitSecondReviewInput) => Promise<void>;
1225
+ };
1226
+ declare function SecondReviewForm({ data, submitting, error, fetch: fetchOverride, getDeliveryOptions, openAttachment, onCancel, onSubmit, }: SecondReviewFormProps): ReactElement;
1227
+
1228
+ type BillRegistryStatus = {
1229
+ id: string;
1230
+ label: string;
1231
+ tone?: "neutral" | "info" | "success" | "warning" | "danger";
1232
+ };
1233
+ type BillRegistryItem = {
1234
+ id: string;
1235
+ billNumber: string;
1236
+ externalId: string | null;
1237
+ patientName: string;
1238
+ claimNumber: string;
1239
+ claimsAdministrator: string;
1240
+ status: BillRegistryStatus;
1241
+ dateOfService: string | null;
1242
+ procedureCodes: string[];
1243
+ billingProviderId: string | null;
1244
+ submittedAt: string | null;
1245
+ arAgeDays: number | null;
1246
+ totalCharge: number;
1247
+ totalPaid: number;
1248
+ balanceDue: number;
1249
+ };
1250
+ type BillRegistryAge = "all" | "0-30" | "31-60" | "61-90" | "91+" | "91-180" | "181+";
1251
+ type BillRegistrySort = "submitted_desc" | "submitted_asc" | "balance_desc" | "balance_asc" | "patient_asc";
1252
+ type BillRegistryQuery = {
1253
+ q?: string;
1254
+ status?: string;
1255
+ age?: BillRegistryAge;
1256
+ claimsAdministrator?: string;
1257
+ billingProviderId?: string;
1258
+ taskSection?: string;
1259
+ taskType?: string;
1260
+ taskLabel?: string;
1261
+ page?: number;
1262
+ pageSize?: number;
1263
+ sort?: BillRegistrySort;
1264
+ };
1265
+ type BillRegistryResult = {
1266
+ items: BillRegistryItem[];
1267
+ total: number;
1268
+ balanceTotal: number;
1269
+ page: number;
1270
+ pageSize: number;
1271
+ };
1272
+ type BillTasksResult = {
1273
+ dashboard: BillTasksDashboardData;
1274
+ filters: {
1275
+ claimsAdministrators: Array<{
1276
+ id: string;
1277
+ name: string;
1278
+ }>;
1279
+ };
1280
+ };
1281
+ type ServiceLineItemsReport = {
1282
+ from: string;
1283
+ to: string;
1284
+ windowLabel: string;
1285
+ cptRows: Array<{
1286
+ code: string;
1287
+ bills: number;
1288
+ lines: number;
1289
+ billed: number;
1290
+ }>;
1291
+ billRows: Array<{
1292
+ billId: string;
1293
+ billNumber: string;
1294
+ submittedDate: string | null;
1295
+ dos: string | null;
1296
+ patient: string;
1297
+ claim: string;
1298
+ claimsAdmin: string;
1299
+ codes: string[];
1300
+ billed: number;
1301
+ status: string;
1302
+ }>;
1303
+ totalBills: number;
1304
+ totalLines: number;
1305
+ totalBilled: number;
1306
+ };
1307
+ type ProductivityReport = {
1308
+ lo: string;
1309
+ hi: string;
1310
+ dayKeys: string[];
1311
+ billers: Array<{
1312
+ name: string;
1313
+ initials: string;
1314
+ }>;
1315
+ created: Record<string, Record<string, number>>;
1316
+ sent: Record<string, Record<string, number>>;
1317
+ createdTotal: Record<string, number>;
1318
+ sentTotal: Record<string, number>;
1319
+ submittedTotal: Record<string, number>;
1320
+ cleanTotal: Record<string, number>;
1321
+ totalCreated: number;
1322
+ totalSent: number;
1323
+ totalSubmitted: number;
1324
+ totalClean: number;
1325
+ };
1326
+ type BillingOperationsClientOptions = {
1327
+ /** Same-origin route that exchanges the signed-in user for a short-lived MindBill browser session. */
1328
+ sessionEndpoint?: string;
1329
+ /** Advanced escape hatch for hosts that do not use an HTTP session endpoint. */
1330
+ getSession?: BillLifecycleSessionProvider;
1331
+ apiBaseUrl?: string;
1332
+ fetch?: typeof globalThis.fetch;
1333
+ };
1334
+ type BillingOperationsClient = {
1335
+ clearSession: () => void;
1336
+ getBills: (query?: BillRegistryQuery, signal?: AbortSignal) => Promise<BillRegistryResult>;
1337
+ getBillTasks: (claimsAdministrator?: string, signal?: AbortSignal) => Promise<BillTasksResult>;
1338
+ getServiceLineItems: (range: {
1339
+ from: string;
1340
+ to: string;
1341
+ }, signal?: AbortSignal) => Promise<ServiceLineItemsReport>;
1342
+ getProductivity: (range: {
1343
+ from: string;
1344
+ to: string;
1345
+ }, signal?: AbortSignal) => Promise<ProductivityReport>;
1346
+ };
1347
+ /** Browser-safe client for the multi-bill workspace. Partner API keys are never accepted here. */
1348
+ declare function createBillingOperationsClient({ sessionEndpoint, getSession, apiBaseUrl, fetch: fetchOverride, }?: BillingOperationsClientOptions): BillingOperationsClient;
1349
+
1350
+ type ConnectedSurfaceProps = BillingOperationsClientOptions & {
1351
+ appearance?: MindBillReactAppearance;
1352
+ className?: string;
1353
+ style?: CSSProperties;
1354
+ };
1355
+ type ConnectedBillSearchProps = ConnectedSurfaceProps & {
1356
+ initialQuery?: BillRegistryQuery;
1357
+ onSelectBill?: (bill: BillRegistryItem) => void;
1358
+ heading?: ReactNode;
1359
+ compact?: boolean;
1360
+ };
1361
+ declare function ConnectedBillSearch({ appearance, className, style, initialQuery, onSelectBill, heading, ...options }: ConnectedBillSearchProps): ReactElement;
1362
+ type ConnectedBillTasksDashboardProps = ConnectedSurfaceProps & {
1363
+ onDrillDown?: (query: BillRegistryQuery) => void;
1364
+ };
1365
+ declare function ConnectedBillTasksDashboard({ appearance, className, style, onDrillDown, ...options }: ConnectedBillTasksDashboardProps): ReactElement;
1366
+ type ReportProps = ConnectedSurfaceProps & {
1367
+ initialFrom?: string;
1368
+ initialTo?: string;
1369
+ onSelectBill?: (billId: string) => void;
1370
+ };
1371
+ declare function ConnectedServiceLineItemsReport({ appearance, className, style, initialFrom, initialTo, onSelectBill, ...options }: ReportProps): ReactElement;
1372
+ declare function ConnectedProductivityReport({ appearance, className, style, initialFrom, initialTo, ...options }: Omit<ReportProps, "onSelectBill">): ReactElement;
1373
+ type ConnectedBillingWorkspaceProps = ConnectedSurfaceProps & {
1374
+ initialView?: "tasks" | "bills" | "procedures" | "productivity";
1375
+ onCreateBill?: () => void;
1376
+ };
1377
+ declare function ConnectedBillingWorkspace({ appearance, className, style, initialView, onCreateBill, ...options }: ConnectedBillingWorkspaceProps): ReactElement;
1378
+
1156
1379
  type MindBillWidgetProps = {
1157
1380
  sessionToken: string;
1158
1381
  embedUrl: string;
@@ -1165,4 +1388,4 @@ type MindBillWidgetProps = {
1165
1388
  declare function MindBillBillTimeline(props: MindBillWidgetProps): ReactElement;
1166
1389
  declare function MindBillBillReview(props: MindBillWidgetProps): ReactElement;
1167
1390
 
1168
- export { BILL_STATUS_AGING_BUCKETS, BILL_SUBMISSION_DIAGNOSIS_QUICK_PICKS, BILL_SUBMISSION_DOCUMENT_TYPES, BILL_SUBMISSION_REPORT_TYPES, BILL_SUBMISSION_REQUIRED_FIELDS, type BillActivityEvent, BillActivityTimeline, type BillActivityTimelineProps, type BillAgingBucket, type BillAgingBucketId, BillAgingSummary, type BillAgingSummaryProps, BillExplanationOfReview, type BillExplanationOfReviewProps, BillHistoryTable, type BillHistoryTableProps, BillLifecycleActions, type BillLifecycleActionsProps, BillLifecycleProgress, type BillLifecycleProgressProps, type BillLifecycleProgressStepsOptions, type BillLifecycleStage, BillList, type BillListProps, BillPayerContactCard, type BillPayerContactCardProps, BillPaymentLedger, type BillPaymentLedgerProps, BillReadOnlyForm, type BillReadOnlyFormProps, BillRejectionNotice, type BillRejectionNoticeProps, BillRemittanceCard, type BillRemittanceCardProps, type BillReviewAttachment, type BillReviewBillingProvider, type BillReviewClinician, type BillReviewData, type BillReviewDocumentType, type BillReviewDraft, type BillReviewFeatures, BillReviewForm, type BillReviewFormProps, type BillReviewLineItem, type BillReviewLocation, type BillReviewPayer, type BillReviewSaveInput, BillSnapshotSummary, type BillSnapshotSummaryProps, type BillStatusAction, type BillStatusAgingCell, BillStatusAgingMatrix, type BillStatusAgingMatrixData, type BillStatusAgingMatrixProps, type BillStatusAgingRow, type BillStatusClient, type BillStatusClientOptions, type BillStatusData, type BillStatusSession, type BillStatusSessionProvider, type BillStatusSessionRequest, BillStatusSummary, type BillStatusSummaryProps, BillSubmissionActions, type BillSubmissionAddress, type BillSubmissionAttachmentReportTypeMode, BillSubmissionAttachmentsSection, BillSubmissionClaimSection, type BillSubmissionDiagnosisOption, type BillSubmissionDocumentType, type BillSubmissionEvaluationType, BillSubmissionForm, type BillSubmissionFormProps, type BillSubmissionFormValue, BillSubmissionHeader, type BillSubmissionInput, type BillSubmissionModifierOption, BillSubmissionPatientSection, type BillSubmissionPostalPlace, type BillSubmissionProcedureOption, BillSubmissionProvidersSection, type BillSubmissionReportTypeOption, type BillSubmissionRibbonItem, type BillSubmissionRoute, type BillSubmissionSectionId, BillSubmissionServiceLinesSection, type BillSubmissionSourceAttachment, type BillSubmissionTaxonomyOption, type BillSubmissionUpload, type BillSubmissionValidation, BillSubmissionsRibbon, type BillSubmissionsRibbonProps, BillTasksDashboard, type BillTasksDashboardCell, type BillTasksDashboardProps, type BillingComponentProps, BillingDashboard, type BillingDashboardBill, type BillingDashboardProps, type BillingDashboardSummary, BillingReport, type BillingReportDimension, type BillingReportProps, type BillingReportRow, BillingSettings, ClaimsAdministratorDirectoryDialog, type ClaimsAdministratorDirectoryDialogProps, ConnectedBillLifecycle, type ConnectedBillLifecycleProps, ConnectedBillStatus, type ConnectedBillStatusProps, DEFAULT_BILL_SUBMISSION_MODIFIERS, DEFAULT_BILL_SUBMISSION_PROCEDURES, DEFAULT_BILL_SUBMISSION_TAXONOMIES, MED_LEGAL_REPORT_TYPE_CODE, MindBillBillReview, MindBillBillTimeline, type MindBillReactAppearance, type MindBillThemePreset, type MindBillWidgetProps, OrganizationOnboarding, type OrganizationOnboardingProps, PSYCH_QME_DEFAULT_DIAGNOSIS, ReportBillStatusDialog, type ReportBillStatusDialogProps, SendRouteDialog, type SendRouteDialogProps, type SendRouteSubmission, type UseBillLifecycleOptions, type UseBillLifecycleResult, type UseBillStatusOptions, type UseBillStatusResult, applyBillSubmissionEvaluationDiagnoses, applyBillSubmissionEvaluationModifiers, billActivityEventLabel, billAgingBucket, billAgingDays, billLifecycleDisplayLabel, billLifecycleStage, billSubmissionsRibbonDeliveryLabel, billSubmissionsRibbonFromHistory, buildBillReviewSaveInput, buildBillStatusAgingCsv, buildBillStatusAgingMatrix, buildBillingReportCsv, buildBillingReportRows, calculateBillSubmissionAllowedAmount, chooseClaimsAdministrator, claimsAdministratorRecommendations, createBillStatusClient, ensureTrailingBillSubmissionLine, ensureTrailingProcedureLine, exactClaimsAdministratorMatch, extractSendRouteEmail, formatBillSubmissionDate, formatSendRouteFax, isBillLifecycleDraft, mindBillAppearanceStyle, mindBillThemePresets, normalizeClaimsAdministratorName, parseBillSubmissionDate, prepareBillSubmissionDocuments, resolveMindBillAppearance, submittedClaimsAdministrator, summarizeBillingDashboard, useBillLifecycle, useBillStatus, validateBillSubmission, visibleBillLifecycleActions };
1391
+ export { BILL_STATUS_AGING_BUCKETS, BILL_SUBMISSION_DIAGNOSIS_QUICK_PICKS, BILL_SUBMISSION_DOCUMENT_TYPES, BILL_SUBMISSION_REPORT_TYPES, BILL_SUBMISSION_REQUIRED_FIELDS, type BillActivityEvent, BillActivityTimeline, type BillActivityTimelineProps, type BillAgingBucket, type BillAgingBucketId, BillAgingSummary, type BillAgingSummaryProps, BillExplanationOfReview, type BillExplanationOfReviewProps, BillHistoryTable, type BillHistoryTableProps, BillLifecycleActions, type BillLifecycleActionsProps, BillLifecycleProgress, type BillLifecycleProgressProps, type BillLifecycleProgressStepsOptions, type BillLifecycleStage, BillList, type BillListProps, BillPayerContactCard, type BillPayerContactCardProps, BillPaymentLedger, type BillPaymentLedgerProps, BillReadOnlyForm, type BillReadOnlyFormProps, type BillRegistryAge, type BillRegistryItem, type BillRegistryQuery, type BillRegistryResult, type BillRegistrySort, type BillRegistryStatus, BillRejectionNotice, type BillRejectionNoticeProps, BillRemittanceCard, type BillRemittanceCardProps, type BillReviewAttachment, type BillReviewBillingProvider, type BillReviewClinician, type BillReviewData, type BillReviewDocumentType, type BillReviewDraft, type BillReviewFeatures, BillReviewForm, type BillReviewFormProps, type BillReviewLineItem, type BillReviewLocation, type BillReviewPayer, type BillReviewSaveInput, BillSnapshotSummary, type BillSnapshotSummaryProps, type BillStatusAction, type BillStatusAgingCell, BillStatusAgingMatrix, type BillStatusAgingMatrixData, type BillStatusAgingMatrixProps, type BillStatusAgingRow, type BillStatusClient, type BillStatusClientOptions, type BillStatusData, type BillStatusSession, type BillStatusSessionProvider, type BillStatusSessionRequest, BillStatusSummary, type BillStatusSummaryProps, BillSubmissionActions, type BillSubmissionAddress, type BillSubmissionAttachmentReportTypeMode, BillSubmissionAttachmentsSection, BillSubmissionClaimSection, type BillSubmissionDiagnosisOption, type BillSubmissionDocumentType, type BillSubmissionEvaluationType, BillSubmissionForm, type BillSubmissionFormProps, type BillSubmissionFormValue, BillSubmissionHeader, type BillSubmissionInput, type BillSubmissionModifierOption, BillSubmissionPatientSection, type BillSubmissionPostalPlace, type BillSubmissionProcedureOption, BillSubmissionProvidersSection, type BillSubmissionReportTypeOption, type BillSubmissionRibbonItem, type BillSubmissionRoute, type BillSubmissionSectionId, BillSubmissionServiceLinesSection, type BillSubmissionSourceAttachment, type BillSubmissionTaxonomyOption, type BillSubmissionUpload, type BillSubmissionValidation, BillSubmissionsRibbon, type BillSubmissionsRibbonProps, BillTasksDashboard, type BillTasksDashboardCell, type BillTasksDashboardProps, type BillTasksResult, type BillingComponentProps, BillingDashboard, type BillingDashboardBill, type BillingDashboardProps, type BillingDashboardSummary, type BillingOperationsClient, type BillingOperationsClientOptions, BillingReport, type BillingReportDimension, type BillingReportProps, type BillingReportRow, BillingSettings, ClaimsAdministratorDirectoryDialog, type ClaimsAdministratorDirectoryDialogProps, ConnectedBillLifecycle, type ConnectedBillLifecycleProps, ConnectedBillSearch, type ConnectedBillSearchProps, ConnectedBillStatus, type ConnectedBillStatusProps, ConnectedBillTasksDashboard, type ConnectedBillTasksDashboardProps, ConnectedBillingWorkspace, type ConnectedBillingWorkspaceProps, ConnectedProductivityReport, ConnectedServiceLineItemsReport, DEFAULT_BILL_SUBMISSION_MODIFIERS, DEFAULT_BILL_SUBMISSION_PROCEDURES, DEFAULT_BILL_SUBMISSION_TAXONOMIES, MED_LEGAL_REPORT_TYPE_CODE, MindBillBillReview, MindBillBillTimeline, type MindBillReactAppearance, type MindBillThemePreset, type MindBillWidgetProps, OrganizationOnboarding, type OrganizationOnboardingProps, PSYCH_QME_DEFAULT_DIAGNOSIS, type ProductivityReport, ReportBillStatusDialog, type ReportBillStatusDialogProps, SECOND_REVIEW_REASON_TEMPLATES, SecondReviewForm, type SecondReviewFormProps, SendRouteDialog, type SendRouteDialogProps, type SendRouteSubmission, type ServiceLineItemsReport, type UseBillLifecycleOptions, type UseBillLifecycleResult, type UseBillStatusOptions, type UseBillStatusResult, applyBillSubmissionEvaluationDiagnoses, applyBillSubmissionEvaluationModifiers, billActivityEventLabel, billAgingBucket, billAgingDays, billLifecycleDisplayLabel, billLifecycleStage, billSubmissionsRibbonDeliveryLabel, billSubmissionsRibbonFromHistory, buildBillReviewSaveInput, buildBillStatusAgingCsv, buildBillStatusAgingMatrix, buildBillingReportCsv, buildBillingReportRows, calculateBillSubmissionAllowedAmount, chooseClaimsAdministrator, claimsAdministratorRecommendations, createBillStatusClient, createBillingOperationsClient, ensureTrailingBillSubmissionLine, ensureTrailingProcedureLine, exactClaimsAdministratorMatch, extractSendRouteEmail, formatBillSubmissionDate, formatSendRouteFax, isBillLifecycleDraft, mindBillAppearanceStyle, mindBillThemePresets, normalizeClaimsAdministratorName, parseBillSubmissionDate, prepareBillSubmissionDocuments, resolveMindBillAppearance, submittedClaimsAdministrator, summarizeBillingDashboard, useBillLifecycle, useBillStatus, validateBillSubmission, visibleBillLifecycleActions };