Session: tingly-napping-hearth-subagent-abaf215f — 2026-04-08

doctolib-doctolib · Claude · branch .invalid · claude-haiku-4-5-20251001 · 2026-04-08 15:04 · 1 msgs · 28 tools · 15 min read · updated 4 weeks ago

Explore the national-health-records package at `/Users/USER/workspace/doctolib/worktrees/doctolib/FHIR-2166-fix-...

tools: Bash, Read, Grep
← doctolib-doctolib Download .md .txt .json
Tool calls
Bash Bash: 13 calls (46.4%) 13 Read Read: 12 calls (42.9%) 12 Grep Grep: 3 calls (10.7%) 3
Token usage2.8M total
Input161
Cache creation162.2K
Cache read2.6M
Output5.6K
Cache hit ratio94%· healthy

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<void>) => 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<string, string> 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<string, string>
  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<string, string>
  firstName: string
  lastName: string
  role: string // patient, healthcare_professional, etc
  profession?: NhrProfession
  addresses?: NhrAddress[]
  contacts?: NhrContact[]
  institution?: NhrInstitution
}

export type NhrProfession = {
  identifiers?: Record<string, string>
  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<string, string>
  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 ```typescript import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments'

- **Line 24**: Used when feature flag `nhr_document_list_search_mocked` is enabled
```typescript
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 ```typescript import { nhrMockedDocuments } from '../mocks/nhrMockedDocuments'

- **Line 33**: Test description
```typescript
it('returns nhrMockedDocuments', async () => {
  • Line 40: Assertion in test "returns nhrMockedDocuments when feature flag enabled" ```typescript await expect(result.current({})).resolves.toEqual({ data: nhrMockedDocuments })

- **Line 61**: Assertion in test "returns mocked documents even when patient has no INS"
```typescript
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)

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date