Project: doctolib-doctolib · Branch: .invalid · Mode: · Model: claude-haiku-4-5-20251001 Stats: 1 user messages, 28 tool calls, tools used: Bash, Read, Grep. Conversation Turn 1 — User Explore the national-health-records package at /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/. I need to understand: 1. What files are in mocks/ — return each file's full content 2. What files are in index.ts — return its full content (what is exported publicly) 3. The full NhrDocument type definition — find it in @doctolib/tpf-national-health-records (check .yalc/ at the worktree root or node_modules/) 4. Any existing mock factory/builder patterns in the package (look for files named factory, builder, generator, fixture) 5. How nhrMockedDocuments is currently used — grep for its import/usage across the package Return all file contents and usage sites with line numbers. Turn 1 — Assistant I'll help you explore this package. Let me start by examining the directory structure and then gathering the information you need. Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src -type f -name ".ts" -o -name ".tsx" -o -name ".js …(truncated, 12 more chars) Tool results: → result (ok): /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedColumns.ts /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedDocuments.ts /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/variants/dmp/useDmpDocumentListV …(truncated, 3295 more chars) Now let me read the mock files and index.ts: Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedDocuments.ts Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedColumns.ts Tool results: → result (ok): 1 import type { ColumnConfig } from '@doctolib/tpf-national-health-records-ui' 2 import type { NhrDocument } from '@doctolib/tpf-national-health-records' 3 4 // Column headers are hardcoded in English for the mock. i18n wiring belongs in a follow-up. 5 // Renders are intentionally plain-text — styled cell components will replace them once 6 // the factory functions are available in the published @doctolib/tpf-national-health-records-ui. 7 8 export const buildMockedColumns = (): ColumnConfig[] …(truncated, 1516 more chars) Tool results: → result (ok): 1 import type { NhrDocument } from '@doctolib/tpf-national-health-records' 2 3 export const nhrMockedDocuments: NhrDocument[] = [ 4 // ── Batch 1: Laboratory reports (6 docs) ────────────────────────────────── 5 { 6 id: 'mock-001', 7 title: 'SOPK hormone panel', 8 creationDate: '2025-01-13', 9 submissionDate: '2025-01-18', 10 status: '1', 11 visibility: '1', 12 format: 'application/pdf', 13 serviceInformation: { startDate: '2025-01-10' }, 14 authors: [{ i …(truncated, 20224 more chars) Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/index.ts Tool results: → result (ok): 1 export { useNationalHealthRecords, type UseNhrOperations } from './hooks/useNationalHealthRecords' 2 export { useDmpNhr } from './hooks/useDmpNhr' 3 export { useNhrDocumentListVariant } from './variants/useNhrDocumentListVariant' 4 export type { DocumentSearchOptions, NhrDocumentListVariant } from './variants/types' 5 export { actionsBuilder, type NhrActionsBuilder } from './business/builders/actionsBuilder' 6 [result-id: r4] Now let me search for the NhrDocument type definition and look for factory/builder patterns: Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility -name ".yalc" -type d Tool results: → result (ok): (Bash completed with no output) Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility -name "node_modules" -type d | head -5 Tool results: → result (ok): /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/eslint-plugin-doctolib-custom-rules/tests/files/node_modules Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility -path "/node_modules/@doctolib/tpf-national-health-records" -type d Tool results: → result (ok): (Bash completed with no output) Let me check the package.json to understand dependencies: Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/package.json Tool results: → result (ok): 1 { 2 "name": "@doctolib/national-health-records", 3 "version": "1.0.0", 4 "publishConfig": { 5 "registry": "https://doctolib-580698825394.d.codeartifact.eu-west-1.amazonaws.com/npm/npm-internal/" 6 }, 7 "repository": { 8 "type": "git", 9 "url": "git+https://github.com/doctolib/doctolib.git" 10 }, 11 "keywords": [ 12 "upfront", 13 "modular frontend", 14 "in-monolith-package" 15 ], 16 "engines": { 17 "node": ">= 24.8.0", 18 "npm": ">= 11.6.0" 19 …(truncated, 946 more chars) Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src -name "factory" -o -name "builder" -o -name "ge …(truncated, 30 more chars) Tool results: → result (ok): /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/business/builders Good! Found the builders directory. Let me check those files and search for imports/usages of nhrMockedDocuments: Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/business/builders -type f Tool results: → result (ok): /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/business/builders/actionsBuilder.ts Tools used: - Grep: nhrMockedDocuments in /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records Tool results: → result (ok): Found 3 files /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedDocuments.ts /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.ts /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchD …(truncated, 32 more chars) Now let me read those files that use nhrMockedDocuments and the actionsBuilder: Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/business/builders/actionsBuilder.ts Tool results: → result (ok): 1 import { 2 createMoreActionsAction as moreActionsActionFactory, 3 createViewDocumentAction as viewDocumentActionFactory, 4 type ActionConfig, 5 } from '@doctolib/tpf-national-health-records-ui' 6 import type { NhrDocument } from '@doctolib/tpf-national-health-records' 7 8 export type NhrActionsBuilder = { 9 createViewDocumentAction: (onDocumentSelected: (document: NhrDocument) => Promise) => NhrActionsBuilder 10 createMoreActionsAction: (onDocumentSelected: (document: NhrDocum …(truncated, 628 more chars) Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.ts Tool results: → result (ok): 1 import type { Patient } from 'monolith_DEPRECATED/types/doctor/api/Patient' 2 import { isFeatureEnabled } from '@doctolib/variation_management' 3 import type { NhrDocumentListVariant, MapFiltersToSearchDocumentsParams, ServerFilters } from '../variants/types' 4 import { useNationalHealthRecords } from './useNationalHealthRecords' 5 import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' 6 import { toNhrPatientInformation } from '../business/mappers/toNhrPatientInformation' 7 8 interf …(truncated, 1473 more chars) Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.test.ts Tool results: → result (ok): 1 import { renderHook } from '@testing-library/react' 2 import as variationManagement from '@doctolib/variation_management' 3 import type { Patient } from 'monolith_DEPRECATED/types/doctor/api/Patient' 4 import type { NhrDocument, NhrDocumentSearchParams } from '@doctolib/tpf-national-health-records' 5 import { useNationalHealthRecords } from './useNationalHealthRecords' 6 import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' 7 import useSearchDocuments from './useSearchDocuments' 8 …(truncated, 6910 more chars) Now let me search for the NhrDocument type definition. Let me check if there's a monorepo root with tpf-national-health-records: Tools used: - Bash: find /Users/USER/workspace/doctolib -path "/packages/tpf-national-health-records" -name "index.ts" | grep -v node_modules | head -5 Tool results: → result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentList/NhrSharedByCell/index.ts /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentList/NhrStatusCell/index.ts /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentList/NhrVisibilityCell/index.ts /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health …(truncated, 232 more chars) Tools used: - Bash: find /Users/USER/workspace/doctolib/treatment-plan/packages -name "tpf-national-health-records" -type d Tool results: → result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/dist/@mf-types/compiled-types/packages/tpf-national-health-records /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/dist/.dev-server/compiled-types/packages/tpf-national-health-records /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records [result-id: r11] Found it! Let me check the tpf-national-health-records package: Tools used: - Bash: find /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src -name "[Dd]ocument" -type f | head -10 Tool results: → result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/business/types/document.ts Tools used: - Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/business/types/document.ts Tool results: → result (ok): 1 import type { NhrDocumentAuthor, NhrPatientInformation } from '#business/types/participant' 2 3 // General types --- 4 / The services/procedures this document is associated with / 5 export type NhrServiceInformation = { 6 startDate?: string 7 endDate?: string 8 } 9 10 export type NhrDocumentClassification = { 11 codes: Code[] 12 } 13 14 export type Code = { 15 system: string 16 code: string 17 } 18 19 export type DateRange = { 20 upperLimit?: string 21 lowerLimit?: string …(truncated, 1005 more chars) Tools used: - Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/index.ts Tool results: → result (ok): 1 // bump 2 export { createNhrService } from '#business/nhr-service-factory' 3 export type { NhrAdapter, NhrService, CountryCode } from '#business/types/service' 4 export type { 5 NhrDocumentSearchProps, 6 NhrDocumentSearchResult, 7 NhrDocument, 8 NhrServiceInformation, 9 NhrDocumentSearchParams, 10 NhrDocumentClassification, 11 DateRange, 12 Code, 13 } from '#business/types/document' 14 export type { 15 NhrDocumentAuthor, 16 NhrAddress, 17 NhrContact, 18 NhrInstitution, …(truncated, 290 more chars) Perfect! Now let me grep for any additional factory, builder, or fixture patterns in the national-health-records package: Tools used: - Bash: find /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src -type f -name ".ts" -o -name ".tsx" | xargs grep - …(truncated, 51 more chars) Tool results: → result (ok): /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedColumns.ts /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/index.ts [result-id: r14] Let me check for those files in the variants directory mentioned in the Bash output earlier: Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/variants/dmp/factories/columnsFactory.ts Tool results: → result (ok): 1 import type { ColumnConfig } from '@doctolib/tpf-national-health-records-ui' 2 import { 3 createNhrDocumentCategoryColumn, 4 createNhrDocumentNameColumn, 5 createNhrProcedureDateColumn, 6 createNhrShareDateColumn, 7 createNhrSharedByColumn, 8 createNhrStatusColumn, 9 createNhrVisibilityColumn, 10 } from '@doctolib/tpf-national-health-records-ui' 11 import { DOCUMENT_STATUS } from '@doctolib/dmp' 12 import { 13 getTypeCode, 14 getProcedureDate, 15 getShareDate, 16 getAutho …(truncated, 1312 more chars) Tools used: - Read: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/variants/dmp/factories/filtersFactory.ts Tool results: → result (ok): 1 import { 2 type FilterConfig, 3 createNhrDateSelectionFilterConfig, 4 createNhrDocumentCategoryFilterConfig, 5 createNhrDocumentStatusFilterConfig, 6 createNhrDocumentVisibilityFilterConfig, 7 } from '@doctolib/tpf-national-health-records-ui' 8 9 type FiltersOptions = { 10 lastAccessDate?: string 11 } 12 13 export function filtersFactory({ lastAccessDate = '' }: FiltersOptions = {}): FilterConfig[] { 14 return [ 15 createNhrDocumentCategoryFilterConfig(), 16 createNhrDa …(truncated, 1047 more chars) Perfect! Now let me get the full directory structure and check for any other relevant files: Tools used: - Bash: ls -la /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/ Tool results: → result (ok): drwxr-xr-x clertonra staff 128 B Wed Apr 8 16:48:43 2026 . drwxr-xr-x clertonra staff 256 B Wed Apr 8 16:45:30 2026 .. .rw-r--r-- clertonra staff 1.8 KB Wed Apr 8 16:45:30 2026 nhrMockedColumns.ts .rw-r--r-- clertonra staff 19 KB Wed Apr 8 16:48:43 2026 nhrMockedDocuments.ts [result-id: r17] Tools used: - Bash: ls -la /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/ Tool results: → result (ok): drwxr-xr-x clertonra staff 256 B Wed Apr 8 16:45:30 2026 . drwxr-xr-x clertonra staff 320 B Wed Apr 8 16:45:30 2026 .. drwxr-xr-x clertonra staff 160 B Wed Apr 8 16:45:30 2026 business drwxr-xr-x clertonra staff 256 B Wed Apr 8 16:45:30 2026 hooks .rw-r--r-- clertonra staff 404 B Wed Apr 8 16:45:30 2026 index.ts drwxr-xr-x clertonra staff 128 B Wed Apr 8 16:45:30 2026 locales drwxr-xr-x clertonra staff 128 B Wed Apr 8 16:48:43 2026 mocks drwxr-xr-x clertonra staff 160 B Wed Apr 8 16:45:3 …(truncated, 32 more chars) Excellent! Now let me get the exact line numbers where nhrMockedDocuments is used: Tools used: - Grep: nhrMockedDocuments in /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.ts Tool results: → result (ok): 5:import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' 24: return { data: nhrMockedDocuments } Tools used: - Grep: nhrMockedDocuments in /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.test.ts Tool results: → result (ok): 6:import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' 33: it('returns nhrMockedDocuments', async () => { 40: await expect(result.current({})).resolves.toEqual({ data: nhrMockedDocuments }) 61: await expect(result.current({})).resolves.toEqual({ data: nhrMockedDocuments }) [result-id: r19] Perfect! Now let me compile the comprehensive report. Let me get the NhrDocumentAuthor type as well: Tools used: - Bash: find /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src -name "participant" -type f Tool results: → result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/business/types/participant.ts Tools used: - Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/business/types/participant.ts Tool results: → result (ok): 1 / Profession of a participant. Ideally used to capture more information about healthcare professionals. / 2 export type NhrProfession = { 3 / Can include national identifiers , oids, etc / 4 identifiers?: Record 5 / Optional description of the profession. E.g. HCP, MFA, etc / 6 description?: string 7 / The specialisation of the participant. E.g. cardiology, general medicine, elder care etc / 8 speciality?: string 9 } 10 11 / Geographical locator / 12 …(truncated, 1542 more chars) Perfect! Now I have all the information needed. Let me compile the comprehensive report: Exploration Report: National Health Records Package Based on my exploration of /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/, here's what I found: --- 1. Files in mocks/ directory Two mock files exist in this directory: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedDocuments.ts (40 documents) This file exports a constant nhrMockedDocuments array containing 40 mock NhrDocument objects organized into 8 batches: - Batch 1 (6 docs): Laboratory reports (hormone panel, blood count, urine analysis, thyroid function, lipid profile, HbA1c) - Batch 2 (6 docs): Imaging (MRI brain, chest X-ray, abdominal CT, knee ultrasound, mammography, cardiac echo) - Batch 3 (6 docs): Consultation reports (checkup, cardiology, dermatology, pre-operative, neurology, rheumatology) - Batch 4 (5 docs): Prescriptions (antihypertensive, physiotherapy, antibiotic, insulin, psychiatric) - Batch 5 (5 docs): Discharge summaries (appendectomy, cardiac catheterisation, knee arthroscopy, maternity, rehabilitation) - Batch 6 (4 docs): Vaccination certificates (COVID-19, influenza, tetanus/diphtheria/polio, hepatitis B) - Batch 7 (4 docs): Specialist reports (cardiology stress test, neurology EEG, ophthalmology, endocrinology) - Batch 8 (4 docs): Edge cases with missing/empty fields (no classification, empty codes array, long title, complete fields) Documents contain varied combinations of fields (some with undefined values) to test edge cases. /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/mocks/nhrMockedColumns.ts Exports a factory function buildMockedColumns() that returns a ColumnConfig[] with 6 columns: 1. documentCategory - renders classification code 2. documentName - renders document title 3. procedureDate - sortable, renders formatted service start date 4. shareDate - sortable, renders formatted submission date 5. sharedBy - renders author name or "Patient" 6. status - renders document status string --- 2. Public exports from index.ts File: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/index.ts The package exports 5 items publicly: export { useNationalHealthRecords, type UseNhrOperations } from './hooks/useNationalHealthRecords' export { useDmpNhr } from './hooks/useDmpNhr' export { useNhrDocumentListVariant } from './variants/useNhrDocumentListVariant' export type { DocumentSearchOptions, NhrDocumentListVariant } from './variants/types' export { actionsBuilder, type NhrActionsBuilder } from './business/builders/actionsBuilder' Note: Mock exports (nhrMockedDocuments, buildMockedColumns) are NOT publicly exported from index.ts. --- 3. Full NhrDocument type definition Source: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records/src/business/types/document.ts export type NhrDocument = { id: string title: string description?: string identifiers?: Record creationDate?: string submissionDate?: string serviceInformation?: NhrServiceInformation status?: string visibility?: string format?: string authors?: NhrDocumentAuthor[] classification?: NhrDocumentClassification } Supporting types: export type NhrServiceInformation = { startDate?: string endDate?: string } export type NhrDocumentClassification = { codes: Code[] } export type Code = { system: string code: string } export type NhrDocumentAuthor = { id: string identifiers?: Record firstName: string lastName: string role: string // patient, healthcare_professional, etc profession?: NhrProfession addresses?: NhrAddress[] contacts?: NhrContact[] institution?: NhrInstitution } export type NhrProfession = { identifiers?: Record description?: string speciality?: string } export type NhrAddress = { houseNumber?: string streetName?: string streetType?: string city?: string postalCode?: string state?: string country?: string additionalInformation?: string } export type NhrInstitution = { name?: string identifiers?: Record addresses?: NhrAddress[] contacts?: NhrContact[] } --- 4. Existing mock factory/builder patterns in the package Found in /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/: Factories in variants/dmp/factories/: columnsFactory.ts - Factory function columnsFactory(): ColumnConfig[] that creates column definitions for DMP documents using UI factory functions from @doctolib/tpf-national-health-records-ui: - Uses helper functions: getTypeCode(), getProcedureDate(), getShareDate(), getAuthorName(), isPatientAuthored(), getVisibility() - Creates 7 columns with status/visibility mappings filtersFactory.ts - Factory function filtersFactory(options): FilterConfig[] that creates filter configurations: - Takes optional lastAccessDate parameter - Creates 4 filter types: document category, date selection, status, visibility - Date selection supports "shareDate" and "procedureDate" options Builders in business/builders/: actionsBuilder.ts - Fluent builder pattern NhrActionsBuilder for creating actions: export type NhrActionsBuilder = { createViewDocumentAction: (onDocumentSelected) => NhrActionsBuilder createMoreActionsAction: (onDocumentSelected) => NhrActionsBuilder build: () => ActionConfig[] } Exported as actionsBuilder (fluent builder starting point) Mock builders: nhrMockedColumns.ts - Mock factory buildMockedColumns(): ColumnConfig[] (similar to DMP columnsFactory but simpler) --- 5. nhrMockedDocuments usage across the package Found in 2 files: /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.ts - Line 5: Import statement import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' - Line 24: Used when feature flag nhr_document_list_search_mocked is enabled if (isFeatureEnabled('nhr_document_list_search_mocked')) { return { data: nhrMockedDocuments } } This is in the useSearchDocuments hook which wraps useNationalHealthRecords and conditionally returns mocked data based on a feature flag. /Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-nhr-mock-status-visibility/packages/@doctolib/national-health-records/src/hooks/useSearchDocuments.test.ts - Line 6: Import statement import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments' - Line 33: Test description it('returns nhrMockedDocuments', async () => { - Line 40: Assertion in test "returns nhrMockedDocuments when feature flag enabled" await expect(result.current({})).resolves.toEqual({ data: nhrMockedDocuments }) - Line 61: Assertion in test "returns mocked documents even when patient has no INS" await expect(result.current({})).resolves.toEqual({ data: nhrMockedDocuments }) --- Summary - 2 mock files in mocks/: nhrMockedDocuments.ts (40 documents) and nhrMockedColumns.ts (column factory) - Not publicly exported - mocks are internal, used only for feature flag testing - 2 factory patterns …(truncated, 393 more chars)