All notable changes to this project are documented in this file.
- ESM:
import { parse } from "dicom-sr-parser"viasrc/esm.mjsandpackage.jsonexports - dcmjs adapter:
dicom-sr-parser/dcmjs—parseNaturalizedDataset,parseAllNaturalizedDataset,parseWithDcmjs(optional peerdcmjs) - Browser bundle:
dicom-sr-parser/browser→dist/browser.mjs(esbuild, nofs) - Presets:
templates/rsna.js,templates/tid3110.js - Docs:
docs/guide.md,docs/blog-draft.md,docs/awesome-dicom-pr.md - Examples:
examples/node-etl.cjs,examples/import-esm.mjs,examples/browser-demo.html - Fixture:
duplicate-codes-sr.dcmfor multi-match integration tests
package.jsonexportsmap;prepublishOnlyruns build + tests- Integration tests cover duplicate-code fixture
findAllByCodeValue,parseAll,parseFromFile,findTextByCodeMeaning, exportedmatchesConceptCodeextractTextFromContentItem,dataSetToContentTreefor advanced / pre-parsed trees- Long TEXT / UT support:
maxElementLengthoption (default 1MB) when converting datasets viadicom-parser(fixes truncation at 128 bytes) - CLI flags:
--all,--json,--coding-scheme,--code-meaning,--help - TypeScript:
src/index.d.ts,npm run test:types - CI: GitHub Actions on Node 18 / 20 / 22; typecheck in CI
- Tests: integration fixture
test/fixtures/minimal-nested-sr.dcm - Preset example:
templates/qure.js
- README: API reference, CLI, TypeScript, comparison with dcmjs
parse()return value: Returns{ found, text, codeValue }instead of logging to the console.- Recursive Content Sequence walk: Nested SR content items are searched recursively.
- CLI:
dicom-sr-parserbinary (bin/cli.js) - Optional
codingSchemeDesignatorfilter on Concept Name matches - Unit tests via
npm test - Node.js: Requires Node.js 18 or newer
- Initial release: extract TEXT (0040,A160) by Concept Name Code Value (0008,0100).