{"_id":"fhir-normalize","_rev":"34-36eca3cb2730c05a41b75efb3ce5f7aa","name":"fhir-normalize","dist-tags":{"latest":"2.10.0"},"versions":{"1.0.0":{"name":"fhir-normalize","version":"1.0.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.0.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"f54cfee2344b1b1f15f7cd6a8250bcad61437d8f","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.0.0.tgz","fileCount":9,"integrity":"sha512-p2mCEqqb9MsUN9MdMF7rvq4DiHeh7qbXbiqGSu+S0TbvFTzqUtgjXRNlBvsWnaQvHSA9qG4kzRlIdalfDbO6cw==","signatures":[{"sig":"MEUCIDnvZrlOA1sonbrN9AXgvNP1UNtqZGIscgfcPFw2NV8UAiEA0xQjhIQMxlDc4E3/22iUL5XAw4yVd7NmTVuUlWjQcqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234392},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML, more to come) and get back one standard shape: a FHIR R4 Bundle.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.0.0_1785494971992_0.5684682393791012","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"fhir-normalize","version":"1.1.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.1.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"13eb9a8c51079768601802906108db050647a4a9","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.1.0.tgz","fileCount":9,"integrity":"sha512-gh6FV38CGHWB9BDWRDnwnFlhN4kS6xP1TZGumk9/ERuhpdykX0Sym0F56ChuLCye0JJy+0+s2ha564DpXpJvkw==","signatures":[{"sig":"MEUCIG3zCFqzSw2g3xsTufmx+nydYcH0Cqyi220UbjN19I4wAiEAmUib59zI2csZ15DmVk6QLCyh3CMIfh94YZhMNugGvkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":584196},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.1.0_1785502320060_0.6697789822476392","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"fhir-normalize","version":"1.2.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.2.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"b229c38978d4866a440e04fe0654479c7ab28507","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.2.0.tgz","fileCount":9,"integrity":"sha512-tnwTi1iZM56DK0ZLyeIEZihse8hblxT66N4SZeMy6JaYUGCmLVeCMnpU4734k9U6zq0vlcfawTAMQPdxOnBNGQ==","signatures":[{"sig":"MEYCIQCOAVKr4jfdIHcpt63z5pGL2YKIRmkYtYJCD2dMrHhVrAIhALJm+3Koy4z3ygJLyoL/uKQjyKz8S1viYPpO9Ehp5Mf4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638086},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.2.0_1785742925343_0.2286965692252645","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"fhir-normalize","version":"1.3.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.3.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"c7f4ce12dc3a750b33a2fd8473e79af5df72b518","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.3.0.tgz","fileCount":9,"integrity":"sha512-bv8LwuQS05i4guAhjZtS76x7i0Dt92qWAdtMfQzdmSVlHYYsla4NqfTW4/ZAMwSOSc55bJmHychXSS2wbTx0tA==","signatures":[{"sig":"MEUCIQDGCZwznNW++081FFq0OkfFb7O1qtX9wdMdlPF0YQV2ugIgMbsD+qqs6esPSCzEq2g4tW4k4N5331qx29swlDd2MDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":716327},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.3.0_1785744206834_0.5059022538568594","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"fhir-normalize","version":"1.4.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.4.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"3bd6259bf5e2f42e9d63a06ecbec364c152393c4","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.4.0.tgz","fileCount":9,"integrity":"sha512-nbNAybdxk88e5nASH0sXhxU6s1y6vFQCN5n5A1CQc2lqAJIeWoQ2ihmetG2I8sLLF6pQEdvJ176Y9PuhsvTHhw==","signatures":[{"sig":"MEUCIQDEl4s8wkrbR1AudrjBMT3xzoWcFpj76MDxoTaHDqWgkQIgKl8c8RW7EarWbxIZqjY7VE1H/BE6nHqWWlAZJWEl9dE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":792437},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.4.0_1785746044036_0.7319928171393884","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"fhir-normalize","version":"1.5.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.5.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"65b7fe19a9481803318bdd5fa2f18fdd19aa8343","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.5.0.tgz","fileCount":37,"integrity":"sha512-M03a/P1DBvpqSHIMnfvTfuXC+v5GS7mIt8IegiyoajV1/NUJezcBm5/HJSW5lTL+N1CuyRL1+Dm8fHD36MfNzQ==","signatures":[{"sig":"MEQCIGVfepayeP0WnTuaGYyYUazHf5vjOZeCx9WA/AtY2YaPAiAaimXCUAPSJzwWeTmfwQKGIIwATGBhjj4hKZpOtSr1HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825987},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.5.0_1785750041657_0.17673697732784888","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"fhir-normalize","version":"1.5.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.5.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"a83c024be947499d53d4acaf28495ba3b007334c","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.5.1.tgz","fileCount":37,"integrity":"sha512-TJYtfrAVRmS9/ZJ81u2aMu9JyWTZp7X1PlovLn17qgVw/sUGLimIW8k+kuW4wgg5+djp6GEZs0M8OaoUib/mPw==","signatures":[{"sig":"MEQCIC45+Bhk+8f1WnCxDZyFR82ii1xJjlUTrT0l0XsYGLryAiANr369rJntRK0DG3+5p14FVbDHAJeVdbM9SHuWTBpc8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":826782},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.5.1_1785761245875_0.3178874969130576","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"fhir-normalize","version":"1.6.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.6.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"4cc83ec01216232c5aad6a21ddc8b41ada866958","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.6.0.tgz","fileCount":37,"integrity":"sha512-TBNdxZn+llq+pGQ6xmbEEUSu59cKW6bQerKjixUuRtxnWtbrcNMDES7lDvSNs93oihrNRLFOSEBuL0YlZ3xLmA==","signatures":[{"sig":"MEQCIFVWj8I9g7BLZKgjpcNUHW4T9SHOMrYtdwFphDYh5dkIAiB+E1MAuC7+F5YBtSnjs4p6nGVEy/9WHrUD0tIfRKMH8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907930},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.6.0_1785846596025_0.5416956035134879","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"fhir-normalize","version":"1.7.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.7.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"9fb3950291e095ec00328178577a400c23f1c061","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.7.0.tgz","fileCount":37,"integrity":"sha512-Nb2Do06dFcrYoxd4fO7BPt/AbVpiQphGdEMwXluSDdvaq69kqDfP/vdX+Oj1u3OZExNmnWq8MvdT1ICBqadCIQ==","signatures":[{"sig":"MEUCIQD+FlGvPRsjbljM6PIwxOlW7ChoT3wzBGjdUMyw5ifZuAIgDNiJcdKceDJH00scVTV82JyZySSKktCeGyy77q3elfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":987461},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.7.0_1785848553011_0.9025531935030942","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"fhir-normalize","version":"1.8.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.8.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"a608e063babcfc74a4f7bfc11404a2a2ee0b2b3c","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.8.0.tgz","fileCount":37,"integrity":"sha512-3XYsX1vO4GwH9uNOGU+n2Hoo/WpZYpSmT/q+9v6yg6L4SG/AW+3t+SM9MhvZbECumqjD2KNdcA6g3xtgXAleuA==","signatures":[{"sig":"MEUCIFpWipfFcGwbLQjfCL6IbOtgeOgeZ4X/LIM7JusShc30AiEAnL2Bq5s0VVsDbFbeQVrgmZCxw2RXGk8DxiRoT71CmDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1105499},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.8.0_1785912527899_0.12529805076471612","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"fhir-normalize","version":"1.9.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.9.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"a4a4cb498bfe4d69b46332fc5c1972c4f735fae6","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.9.0.tgz","fileCount":37,"integrity":"sha512-nz3D96k7kETd6C1Rbh9Yfi/TKjyCgr7ydiN7qvJW8Je8GA/TxbeBnaEu8XXdw5ZMCF3101v4clvQkBFXUS641Q==","signatures":[{"sig":"MEQCIE4jdUuQofc08mCJ0ML7cW7Osk57dNXtZBk1SRFRuI+AAiBFOyWGjgYFnSc7WOGCKQuMvkaaJyAYyFXM8RbJBnUsxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1126982},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.9.0_1785930116195_0.5399021107172552","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"fhir-normalize","version":"1.10.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.10.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"73f5804eadc12b06b353258052c1b31560420015","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.10.0.tgz","fileCount":37,"integrity":"sha512-PKBjK+mIWVRRws3+UM3DLB4zDD+BIrGXR6Ud+JN5E1oDxU09hA5Y+Dy9uekmNKkfY6es8uqVyLWX28csEPJdUA==","signatures":[{"sig":"MEUCIQCY5dzpzO4tTIjk0MWH6uCYWzAv/KXbvWzpAT5lUbJcMgIgKBjM63CBRsdeuaVC9nGvE1VxtqogY4hhFCUxTpWR2tM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1246813},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.10.0_1785932054903_0.0314340143239189","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"fhir-normalize","version":"1.10.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.10.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"e296621094dac787eeb7e3e78a93ae0bed447ac4","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.10.1.tgz","fileCount":37,"integrity":"sha512-VLphT8t/C51fUZ1QLpIi77TVuRkHrKjyRVqtx93WqiHPzCo6JRTrJ0QkBAE7B9DG0ISEEtPxIQrecc0pBlVM6w==","signatures":[{"sig":"MEYCIQDfz3z1ZR4AztjAc+tn9Yh4uwtEF99fZpFv+hO98ch5ygIhALwSeN8/qpKoTlXCLRUVolFww+nlYduVqSbSYw1Tz9Ki","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1248514},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.10.1_1785944455730_0.3216849779149453","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"fhir-normalize","version":"1.11.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.11.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"a6757a0bc42357887b9b85146e1b0ef2c80c91b9","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.11.0.tgz","fileCount":37,"integrity":"sha512-yq7544rZVXDqqWT33vWj5sPpSX8ylXJXten5dkEd39rTFAALdZTq3SK6dCZEgQuhxYFUNgd5CGfpSEjfT014hA==","signatures":[{"sig":"MEQCIH8f1YetW4A3gahaAmLuhjZNkqvuut4dCE6IINTGqtJSAiAL5EK9mCxdTRa6TVud9UHO7YpqAp1FwR0G1RSS98gRFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281381},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.11.0_1785946153294_0.27584602080403053","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"fhir-normalize","version":"1.12.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.12.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"489eca71241046d8aa3f2cf438998d5c66084854","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.12.0.tgz","fileCount":37,"integrity":"sha512-crvcFdF/1f2u1gYcNQWh1yKyKIlxcHcJyfKPL9o23Mhj17PUmtLQ9HY/wxdzFguW+4P5NLQ+RhEdhdnvVk5YqQ==","signatures":[{"sig":"MEUCIQDbC07SLsqaUC55zggrX34Cqy0P3R0z37RaKACayOCjoAIgVjhJJKA2OQGYjTSr+4ep4AnM0ymyKe79DRYpoXc8PL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1310938},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.12.0_1785999593624_0.08985455562338718","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"fhir-normalize","version":"1.12.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@1.12.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"7e95fbaaf51e492ad62b01b75a00fabf256b4f3a","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-1.12.1.tgz","fileCount":37,"integrity":"sha512-8fElFuxGsBl/10U2+VEEJtbhNM90r8OlDMPTfdzjQaMI9gK3jxMVl/sL9bXGH85XH2RWQBkKuep0Pq2+/NDLkw==","signatures":[{"sig":"MEUCIQCjQD6TRzU5EfXQ+m8pYRuQhFn96ynfbKXEn8g/pAMCQAIgG4a4APeCEBlQQdX2cD5dMx/e6LUYMoK2gtVGYw/5jGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1312477},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_1.12.1_1786000062764_0.9356292993256756","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"fhir-normalize","version":"2.0.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.0.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize#readme","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"802b723b2656bcf65b1f5a56b0b9385f44acb490","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.0.0.tgz","fileCount":43,"integrity":"sha512-Mf5pPnqxn0norma4P5CihORe0zXccM/QNkRaBtWa8AYIccPpGBPTk3fZx1KHyiVMHW8OWROFDCzYs5RU6MRYAw==","signatures":[{"sig":"MEUCIQDPMsIyVj57SIFohZrOUfsa1KaieU6IxQhGq9PHpBkuPwIgJtjAD8Z79wVoOT1s4zypv3n+DoBZF2tO6H+L8Ll9fZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1658581},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.0.0_1786002705346_0.2014031032688941","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"fhir-normalize","version":"2.0.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.0.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"7b26b162de046ef73dc3b9c21d32c152c01e2a55","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.0.1.tgz","fileCount":43,"integrity":"sha512-Csd+G3wRMvrGvWBqaIDL52BtgQ0fYgntpLM7XbzmnrhnB/1ME/PDnCjNDSTOtyYO4bHWbUo6wNtRhg7tVydXmw==","signatures":[{"sig":"MEYCIQCVJvLuMB4y+qorPbavsR5NHVxXb+f7YN4k4G7IInI1BgIhAM5vRVbjvMc7SSxrU8igAG6l00+56gzPmdz1O8kQdq2L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1658811},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.0.1_1786012421795_0.34612896795904513","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"fhir-normalize","version":"2.0.2","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.0.2","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"7969feb84de3e186a78c20c9b564a835d5f40820","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.0.2.tgz","fileCount":43,"integrity":"sha512-stu1XxZvTWMhe6fuFkCBjA2vYOvH97NCrszK6F8N+qFtMg3dNGHzp21uwx5lD/DowdGBmUnoeq30h/m1wlWzfw==","signatures":[{"sig":"MEUCIEJYMrrOxuCMz7qFpeZ37oi5lRyarojLi2T+piN8YR8EAiEA9HSFnC6lhm06Jvd0gfPaTMDW/yhwu6inT7FneLqrCcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1667551},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.0.2_1786013482675_0.26102736122487746","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"fhir-normalize","version":"2.1.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.1.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"518593bb7a554f6e977e0fafab05204dfc4ec6b4","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.1.0.tgz","fileCount":43,"integrity":"sha512-/dBsXi1psEG4VfXOvPx9A+ZCp9YyGolqACnZr2jRL8jlpBTNu1hWattn+id6Da3oRNFiPGBnkEW4g3+9TaBksQ==","signatures":[{"sig":"MEQCIEVNf5R4pgELDeeN0cM1ErYMlFsJeZgaqOq//mR1bFfsAiAIkEwUQNUvPyznMl9DRnA2UMSm3QyoDXklB9OF/1Ye/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1674046},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.1.0_1786089268249_0.860467168402778","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"fhir-normalize","version":"2.2.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.2.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"4eb9bda1de5aa889e2268d1dfa24bf5fe578f26d","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.2.0.tgz","fileCount":43,"integrity":"sha512-I7VGEyqdzPQIse5D1UI0sjjU33y74YvVkZj7eoXNT2yfUM0nJ2N311sus2BqP++D9/q/r9rSqIL+ExluhquEBg==","signatures":[{"sig":"MEQCIFkTQyqbHHBCKcdrsAOgzLTD+4KIeGxqaxDimq9SH6l2AiAnIyoKTNvOCUZWyNrvnC584RAK0TEl9wBqDiSiLhU+dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1743395},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.2.0_1786182258680_0.8000696462789452","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"fhir-normalize","version":"2.2.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.2.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"e961eb051f679ec113df89f74a09ba1bde6d8aff","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.2.1.tgz","fileCount":43,"integrity":"sha512-hiiVHz+oM0n1OfOGaDVb8PGg7RstUdtuZExS9KhYNAYN1GnTE3wTl+EIG3qZZ9h+BH3yy5+kKEV/o+y13oKnJg==","signatures":[{"sig":"MEUCIQDku3CaICVN+er1oLHl9+eI0fcj20WbOC8YkcMFtm1YAwIgNPQ7qL+raOzDZQkIeCKBuLEvA0oolHCGyPsaS7qm78Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750893},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.2.1_1786199252459_0.14521856662871824","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"fhir-normalize","version":"2.2.2","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.2.2","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"09a5d6d713ec83b4eb4afe7c0701fbb70c7dfebc","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.2.2.tgz","fileCount":43,"integrity":"sha512-f5Ik/1eFtOLLEW48t6C5w2kPSog4Sq613wyrX4kAruRIvoSEZ8Qm4N7hwITLvJMJz4z3NjL8PsO+I0fbU6bcLw==","signatures":[{"sig":"MEQCIEoOTiX8IzM6wO5KQ+2V5/i+G8/qLaZxUDHWjqDGOfQyAiBIglYFSn3v5Cev6Gs6FtGGQuAjQMd7bMQy2KiXq5TelQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1754575},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.2.2_1786296055315_0.905967045031413","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"fhir-normalize","version":"2.3.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.3.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"95a814e35a3f8b5747983463105c74a9fdbf634d","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.3.0.tgz","fileCount":49,"integrity":"sha512-ffpAc/z4/hInXjaN0kHSE3wNg2HGZ1SK3/fEfeC9KIK+XcdktBXG5QK+5q6a4F+0azJaIqJhVtGvbuyyges+aQ==","signatures":[{"sig":"MEUCIQDf9HvJhivLn8I66jcojBgTrXh1qADH1jZhG6ptsflu8QIgJqnS/jJCL3xcccR64LYUygbSqvScZnTt55N57qvh3Nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2891614},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.3.0_1786360852300_0.49108884532695085","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"fhir-normalize","version":"2.3.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.3.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"421770a4e30efd7fee05063d9ea0da3377fe4109","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.3.1.tgz","fileCount":49,"integrity":"sha512-LxyROr4c8fpVUEIB+I2bS76TNRHn986oVif4Jc2ICbPGm1twHEt1DinKWSwtcAyUYPZv3NjeioiKSPKXeV2Qnw==","signatures":[{"sig":"MEYCIQDBEa31vgMDKBLKTZ9n0neoODrPwByCwKPMlXrMqMernAIhANq2dqd6AdYSfZ2dcgZ95FYn2x4sN0MnHn6LR9fn1onV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3120379},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.3.1_1786369880275_0.42050838611043195","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"fhir-normalize","version":"2.3.2","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.3.2","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"5a894ebddb961dba740a22d84380e283f7366deb","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.3.2.tgz","fileCount":49,"integrity":"sha512-Pv1JD3ULwDJtnloatcweQGx2Di5rnN+ODL94BIy+Fk/1E1oaQpud3DNNSxL4W3YFSytShmquTW8MdHWRE+xJ4g==","signatures":[{"sig":"MEQCIHrXeNzZJ4dMobUXK8Fuo8vsu7KCP2LElcOQtscUGTCMAiAa97KornRkG6zVZUE8ns1FbpsuqS3FL4EkGtP+ndOq8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3127562},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.3.2_1786446442273_0.5650670416105674","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"fhir-normalize","version":"2.4.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.4.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"56068a1f65b3e8cfe9d53f1415d7aba2982b7770","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.4.0.tgz","fileCount":57,"integrity":"sha512-49CvB0liHCRSth35Uk+4bvQ0+M359gOO2cD9S8uOX3F2Y8113IR5/25mi/eVX8KatBcbJ0kBl0PeFdxyYsw6mQ==","signatures":[{"sig":"MEQCICv78U9rum+tDvSTkH/7flx3gszYQ2l+pjPw0hvheX+rAiA56Z0tI+RPOHLWcFVg6Px7OA6g4dOV5IFI1/4WCF7zaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3176214},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.4.0_1786448625074_0.457757179944543","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"fhir-normalize","version":"2.5.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.5.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"a61e78c34cbe273cebe05edd7342587896f5cd0a","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.5.0.tgz","fileCount":57,"integrity":"sha512-zCYZuHYs8BgJ6FpDRf48stCj0YjeX6kN9kzbKI694BbkFVxeDVHQtZFm3Nl75qVuuA039E5ol6io1h9FaCNtmA==","signatures":[{"sig":"MEUCIBHO2J+6Vd2rade2Q6YVPp/hLV35nkvtl9z4gBZJ9w9LAiEAtygGew4TLkS08ZKhPrVQJntK1uvhwCpHarVQwvpDkq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3215432},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.5.0_1786535947005_0.16265021717767958","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"fhir-normalize","version":"2.6.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.6.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"52c1b10534c98ca9698fa349937ded6991aff048","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.6.0.tgz","fileCount":63,"integrity":"sha512-KaPjjl4wnQFLYSv+jyNllNa6VY3nvBikPRbtLB9596mLfAsiOzJ24Ud702OjiPfHug5IRBgUSTnuFN10WklK/g==","signatures":[{"sig":"MEYCIQCaQq5q4hCfzCOStaXFNG3odY5bcxgQaqWA5rdykJAD6AIhAP8EI6A4q+nd0zBQ1WoCtVrc4wVumaZensOeYjbZuZzA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3397751},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.6.0_1786539777661_0.848823390301487","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"fhir-normalize","version":"2.7.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.7.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"8a971fd8624dc75c9a1356885312cd02c125b029","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.7.0.tgz","fileCount":63,"integrity":"sha512-FWZsMItDpjCtnYXm01rt/tZUBDrUFyvWAjT/7t+7BNNsw8uOUQ/5p6h7IDUbzIgqwgMsKZUeUvNwGR+Q+GN3cA==","signatures":[{"sig":"MEUCICKOSTbSZoM/dqBZP+Sg6sTAkxmF9geILV05wdkrjWN4AiEA/CKiK6KAyISVf8907H14omRzJzl4Gbx459B6FmC/luE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3443392},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.7.0_1786549841909_0.17528587417151198","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"fhir-normalize","version":"2.8.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.8.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"d920ff701a2c2f1fe598273d1656b583ee868615","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.8.0.tgz","fileCount":63,"integrity":"sha512-+el01kY2pc1D+P20McMV77h7R00uckBkrtWTZO86WPorSKBLvpLjH4lOycWH2kB98t8S+SXmH5VOKkhKy7xw+w==","signatures":[{"sig":"MEQCIFb+dLqIP+A5aDNiiaPwKmqxP0azdoqain2RMsqa00oTAiBKR6QloLbCbEPGfBF0vxEpe/s3D9KJhYO0qI7PmX7F4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3456980},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.8.0_1786947073977_0.9952790222528265","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"fhir-normalize","version":"2.8.1","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.8.1","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"95578248791cf45ea1e5a28061e525619b598372","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.8.1.tgz","fileCount":63,"integrity":"sha512-YO+kcI+tpUlv5ZGN1pQmhnAw2hzVyX1SC00hFi5q7i55oZNvSXM+Cl07S5O5tGN3Rl8W5LrVZ+x6QGvhn/6IBw==","signatures":[{"sig":"MEUCIQDHgf2ov+Tfm3PRsVaTLCbTCPAHWgCx+HqqjOTUC8l6uwIgH2tsrGsxBjvVUTgEesT05/ALKXaXtDZhVd6MKJV+de0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3438194},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","bench":"node scripts/bench.mjs","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.11","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.8.1_1788541253616_0.3138120026341198","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"fhir-normalize","version":"2.9.0","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"author":"Syed Ali Abbas Zaidi","license":"MIT","_id":"fhir-normalize@2.9.0","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"dist":{"shasum":"7e333bc96f7fbd44ed53a1aae0c4de42e9fee92c","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.9.0.tgz","fileCount":63,"integrity":"sha512-Ly8Zn6RFVtCP8ImpIVG7BVfJMiWp/q4+ZMz57IxyiJ0LAg8B1Zr5ZxJBp4hTCOb1z+FijPZtcaHrdODCEaKtcQ==","signatures":[{"sig":"MEYCIQDmj89zFJSAYmg3/8vT/8A2u9u1zzQu+zulytT22AN8pgIhALFDVsfz2xl+d3GbDngYREAnZ/LMCPggHTtksgV6RBi/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3472991},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./package.json":"./package.json"},"scripts":{"test":"vitest run","bench":"node scripts/bench.mjs","build":"tsup","typecheck":"tsc --noEmit","spec:fetch":"node scripts/fetch-r4-spec.mjs","test:watch":"vitest","fields:types":"node scripts/generate-field-types.mjs","test:coverage":"vitest run --coverage","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs"},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"repository":{"url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","type":"git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.11","typescript":"^5.9.3","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/fhir-normalize_2.9.0_1788544700719_0.8594834265045888","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"fhir-normalize","version":"2.10.0","description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"license":"MIT","author":"Syed Ali Abbas Zaidi","repository":{"type":"git","url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","directory":"packages/fhir-normalize"},"homepage":"https://fhir-normalize-playground.vercel.app","bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./simplified":{"import":{"types":"./dist/simplified.d.ts","default":"./dist/simplified.js"},"require":{"types":"./dist/simplified.d.cts","default":"./dist/simplified.cjs"}},"./deidentify":{"import":{"types":"./dist/deidentify.d.ts","default":"./dist/deidentify.js"},"require":{"types":"./dist/deidentify.d.cts","default":"./dist/deidentify.cjs"}},"./xml":{"import":{"types":"./dist/xml.d.ts","default":"./dist/xml.js"},"require":{"types":"./dist/xml.d.cts","default":"./dist/xml.cjs"}},"./validate":{"import":{"types":"./dist/validate.d.ts","default":"./dist/validate.js"},"require":{"types":"./dist/validate.d.cts","default":"./dist/validate.cjs"}},"./hl7v2":{"import":{"types":"./dist/hl7v2.d.ts","default":"./dist/hl7v2.js"},"require":{"types":"./dist/hl7v2.d.cts","default":"./dist/hl7v2.cjs"}},"./stream":{"import":{"types":"./dist/stream.d.ts","default":"./dist/stream.js"},"require":{"types":"./dist/stream.d.cts","default":"./dist/stream.cjs"}},"./package.json":"./package.json"},"engines":{"node":">=18"},"dependencies":{"@types/fhir":"^0.0.44","fast-xml-parser":"^5.11.1"},"devDependencies":{"@vitest/coverage-v8":"^4.1.11","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.1.11"},"publishConfig":{"access":"public"},"scripts":{"build":"tsup","spec:fetch":"node scripts/fetch-r4-spec.mjs","fields:types":"node scripts/generate-field-types.mjs","validate:index":"node scripts/generate-validate-index.mjs","xml:cardinality":"node scripts/generate-xml-cardinality.mjs","bench":"node scripts/bench.mjs","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_nodeVersion":"22.23.2","_id":"fhir-normalize@2.10.0","dist":{"integrity":"sha512-43LH0P1CEf1OaJG/d9ljnzfLlQwMXvUJVhdJks/TtFhtIIzrOE65XjHMkXhJzcA11CIHlS/ocSixz4xpsIlXnQ==","shasum":"ba37e77d906991ff5a6afd810845920956b56ef9","tarball":"https://registry.npmjs.org/fhir-normalize/-/fhir-normalize-2.10.0.tgz","fileCount":63,"unpackedSize":3493451,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHwOExeGoPX7ea0ZSNmW7Zrvwp/7OZS1P6fJPaRuLg8VAiAgTt3zR+uky6Dbmne0l3xxvRFUnpf5EKfd3LZlHhV8jA=="}]},"_npmUser":{"name":"ali_zaidi","email":"zaidi9422@gmail.com"},"directories":{},"maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fhir-normalize_2.10.0_1788544797936_0.5419285427026377"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-31T10:49:31.837Z","modified":"2026-09-04T17:59:58.264Z","1.0.0":"2026-07-31T10:49:32.169Z","1.1.0":"2026-07-31T12:52:00.226Z","1.2.0":"2026-08-03T07:42:05.487Z","1.3.0":"2026-08-03T08:03:26.982Z","1.4.0":"2026-08-03T08:34:04.192Z","1.5.0":"2026-08-03T09:40:41.847Z","1.5.1":"2026-08-03T12:47:26.026Z","1.6.0":"2026-08-04T12:29:56.205Z","1.7.0":"2026-08-04T13:02:33.170Z","1.8.0":"2026-08-05T06:48:48.064Z","1.9.0":"2026-08-05T11:41:56.352Z","1.10.0":"2026-08-05T12:14:15.088Z","1.10.1":"2026-08-05T15:40:55.962Z","1.11.0":"2026-08-05T16:09:13.506Z","1.12.0":"2026-08-06T06:59:53.777Z","1.12.1":"2026-08-06T07:07:42.974Z","2.0.0":"2026-08-06T07:51:45.516Z","2.0.1":"2026-08-06T10:33:41.939Z","2.0.2":"2026-08-06T10:51:22.827Z","2.1.0":"2026-08-07T07:54:28.425Z","2.2.0":"2026-08-08T09:44:18.834Z","2.2.1":"2026-08-08T14:27:32.667Z","2.2.2":"2026-08-09T17:20:55.476Z","2.3.0":"2026-08-10T11:20:52.491Z","2.3.1":"2026-08-10T13:51:20.519Z","2.3.2":"2026-08-11T11:07:22.433Z","2.4.0":"2026-08-11T11:43:45.260Z","2.5.0":"2026-08-12T11:59:07.187Z","2.6.0":"2026-08-12T13:02:57.847Z","2.7.0":"2026-08-12T15:50:42.071Z","2.8.0":"2026-08-17T06:11:14.275Z","2.8.1":"2026-09-04T17:00:53.828Z","2.9.0":"2026-09-04T17:58:20.873Z","2.10.0":"2026-09-04T17:59:58.118Z"},"bugs":{"url":"https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/issues"},"author":"Syed Ali Abbas Zaidi","license":"MIT","homepage":"https://fhir-normalize-playground.vercel.app","keywords":["fhir","hl7","healthcare","normalize","r4","interoperability","typescript"],"repository":{"type":"git","url":"git+https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize.git","directory":"packages/fhir-normalize"},"description":"Ingest healthcare data in multiple formats (FHIR JSON, FHIR XML) and get back one standard shape: a FHIR R4 Bundle, plus a simplified view with FHIR choice types resolved.","maintainers":[{"name":"ali_zaidi","email":"zaidi9422@gmail.com"}],"readme":"# fhir-normalize\n\n[![npm](https://img.shields.io/npm/v/fhir-normalize.svg)](https://www.npmjs.com/package/fhir-normalize)\n[![CI](https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/actions/workflows/ci.yml/badge.svg)](https://github.com/Syed-Ali-Abbas-Zaidi/fhir-normalize/actions/workflows/ci.yml)\n[![license](https://img.shields.io/npm/l/fhir-normalize.svg)](LICENSE)\n\nIngest healthcare data in several formats and get back **one standard shape**: a FHIR R4 `Bundle`.\nWrite your downstream logic once, against one type, instead of branching per source system.\n\n**[Try it in the playground →](https://fhir-normalize-playground.vercel.app)**\n\n```ts\nimport { createDefaultNormalizer } from 'fhir-normalize';\n\nconst { bundle, meta } = createDefaultNormalizer().parse(rawInput); // format auto-detected\n\nbundle.entry?.forEach((entry) => console.log(entry.resource?.resourceType));\nconsole.log(meta.sourceFormat, meta.warnings);\n```\n\n`bundle` is a real FHIR R4 `Bundle`, not a bespoke dialect. Its type comes from\n[`@types/fhir`](https://www.npmjs.com/package/@types/fhir) and is re-exported, so you can name it\nwithout adding your own dependency:\n\n```ts\nimport type { Bundle, FhirResource } from 'fhir-normalize';\n```\n\n## Status\n\n`2.10.0`. The public surface — `ParseResult`, `FormatParser`, `ResultTransform` and the `Normalizer`\nmethods — is stable under semver.\n\n| Format | Status |\n| --- | --- |\n| FHIR JSON (resource, Bundle, or array) | ✅ |\n| FHIR XML | ✅ via `fhir-normalize/xml` |\n| NDJSON (Bulk Data `$export`) | ✅ |\n| Streaming NDJSON, past the 512 MB string ceiling | ✅ via `fhir-normalize/stream` |\n| HL7 v2 in (ADT / ORU) | ✅ via `fhir-normalize/hl7v2` |\n| Cross-version STU3 / R5 → R4 | ⚠️ Partial — [see coverage](#older-and-newer-releases-land-on-r4) |\n| Simplified view (choice types resolved) | ✅ 147 resource types |\n| Flat rows, for CSV and tabular loads | ✅ via `fhir-normalize/simplified` |\n| De-identification | ✅ structural — [read the limits](#de-identification) |\n| R4 conformance checking | ✅ structural, via `fhir-normalize/validate` |\n| NDJSON out, for Bulk Data-shaped exports | ✅ |\n| C-CDA, CSV in | 📋 Later |\n\n## Install\n\n```bash\nnpm install fhir-normalize\n```\n\nShips ESM + CJS with type declarations. No runtime configuration. Works under npm, yarn, pnpm and\nbun, including yarn PnP and pnpm's isolated `node_modules`.\n\n> [!NOTE]\n> pnpm 11 holds back very recent releases by default, so `pnpm add fhir-normalize` shortly after a\n> release can resolve to the previous one. Ask for `fhir-normalize@latest` if you need it now.\n\n## Entry points\n\nSeven of them. The root re-exports the JSON-family parsers plus the simplified and de-identify\nlayers, so a single import works; the subpaths let a bundler leave out what you do not use.\n\n```ts\nimport { createDefaultNormalizer } from 'fhir-normalize';              // parsing\nimport { simplifyBundle, formatShape, toRows } from 'fhir-normalize/simplified';\nimport { deIdentifyBundle } from 'fhir-normalize/deidentify';\nimport { fhirXmlParser } from 'fhir-normalize/xml';                    // opt in\nimport { validateBundle } from 'fhir-normalize/validate';              // opt in\nimport { parseNdjsonStream } from 'fhir-normalize/stream';             // opt in\nimport { hl7v2Parser } from 'fhir-normalize/hl7v2';                    // opt in\n```\n\nMeasured on a real install, minified, with dependencies included:\n\n| What you import | Bundled |\n| --- | --- |\n| parsing only | **~20 KB** (~8 KB gzipped) |\n| parsing + streaming | ~21 KB (~8 KB gzipped) |\n| parsing + HL7 v2 | ~31 KB (~12 KB gzipped) |\n| validation, on its own | ~80 KB (~16 KB gzipped) |\n| parsing + the simplified view | ~84 KB (~24 KB gzipped) |\n| parsing + XML | ~106 KB (~35 KB gzipped) |\n\n**XML and HL7 v2 are opt in.** `fast-xml-parser` is ~61 KB and is not side-effect-free, so a bundler\ncannot drop it — registering it by default would charge every consumer for a format most never use.\nAdding it back is one line:\n\n```ts\nconst normalizer = createDefaultNormalizer().register(fhirXmlParser);\n```\n\n## Usage\n\n### Auto-detect, or name the format\n\n`parse()` detects the format from the payload. Registration order is detection order, and the first\nmatch wins. To skip detection, name the format:\n\n```ts\nnormalizer.parse(raw, SOURCE_FORMAT.FHIR_JSON);\nnormalizer.detectFormat(raw); // 'fhir-json' | 'fhir-xml' | 'ndjson' | null\n```\n\n### XML in, the same shape out\n\n```ts\nnormalizer.parse('<Patient><id value=\"x\"/><gender value=\"male\"/></Patient>');\n// -> identical bundle.entry to parsing {\"resourceType\":\"Patient\",\"id\":\"x\",\"gender\":\"male\"}\n```\n\n**XML carries no schema, so two things are inferred**, and every XML parse says so in\n`meta.warnings`. **Cardinality** is read from the R4 definitions per resource type, because a lone\n`<name>` is indistinguishable from a one-item list — `Patient.name` is an array, `Organization.name`\nis not. **Primitive types** are recovered only where the spec is unambiguous, such as a `value[x]`\nsuffix; everything else stays a string, deliberately, so `<postalCode value=\"02134\"/>` does not\nbecome `2134`.\n\n### Bulk Data exports\n\n`$export` returns NDJSON — one resource per line, routinely hundreds of megabytes. Handed the whole\nstring, it reads like any other format:\n\n```ts\nnormalizer.parse(await readFile('Observation.ndjson', 'utf8'));\n```\n\nDetection inspects the first few lines rather than the file, and needs two or more resource lines —\nso a single JSON resource still goes to the FHIR JSON adapter. A line that is not a JSON resource is\nskipped and reported in `meta.warnings` rather than failing the export.\n\n#### A file too large to be a string\n\nA JavaScript string cannot exceed **512 MB**, so past that an export cannot be handed to `parse()`\nat all. `fhir-normalize/stream` reads the source a piece at a time and yields a normal `ParseResult`\nevery `batchSize` resources:\n\n```ts\nimport { createReadStream } from 'node:fs';\nimport { parseNdjsonStream } from 'fhir-normalize/stream';\n\nconst options = { batchSize: 1000, normalizer: createDefaultNormalizer() };\n\nfor await (const { bundle, meta } of parseNdjsonStream(createReadStream(path), options)) {\n  await db.insertMany(bundle.entry ?? []);\n  if (meta.warnings.length > 0) console.warn(meta.warnings);\n}\n```\n\n**Each batch is exactly what `parse()` returns**, so `simplifyBundle`, `validateBundle` and `toRows`\nall take it as-is. Pass a `normalizer` and its stages run over every batch; leave it out and the\nbatches carry what the file held.\n\nThe source is any `AsyncIterable<string | Uint8Array>` — a Node `Readable`, a web `ReadableStream`\nand an async generator all qualify. Chunk boundaries landing mid-line or mid-character are handled.\nA single line longer than `maxLineLength` (32 MB) is refused rather than buffered, since a file with\nno newlines would otherwise exhaust memory exactly as `parse()` does.\n\nMeasured by `pnpm --filter fhir-normalize bench`, peak resident set size:\n\n| Export | `parse()` | `parseNdjsonStream()` |\n| --- | --- | --- |\n| 250 MB, 822,000 resources | 1.6 s, **1,014 MB** | 1.1 s, **120 MB** |\n| 700 MB, 2,302,000 resources | `ERR_STRING_TOO_LONG` | 3.3 s, **186 MB** |\n\nBoth columns run the same post-parse stages. Streaming is sublinear rather than flat — 2.8 times the\ninput costs 1.6 times the memory — but it never scales with the file, which is the difference\nbetween an export that fits and one that does not.\n\n> [!NOTE]\n> **NDJSON only.** A single enormous JSON Bundle or XML document needs an incremental parser, which\n> this is not. For those, `parse()` and the 512 MB ceiling still apply.\n\n#### NDJSON out\n\nThe mirror. Anything this library can read becomes a Bulk Data-shaped export, so an HL7 v2 message\nor an XML document can leave as NDJSON:\n\n```ts\nimport { createDefaultNormalizer, toNdjson, toNdjsonByType } from 'fhir-normalize';\n\nconst { bundle } = createDefaultNormalizer().register(hl7v2Parser).parse(adtMessage);\n\nawait writeFile('out.ndjson', toNdjson(bundle));\n\n// Or a file per resource type, which is what an export looks like on disk.\nfor (const [resourceType, ndjson] of Object.entries(toNdjsonByType(bundle))) {\n  await writeFile(`${resourceType}.ndjson`, ndjson);\n}\n```\n\nThe Bundle wrapper is not written — NDJSON carries resources — so `parse()` on the output gives back\nan equivalent Bundle rather than one nested inside another. Every line ends in a newline, including\nthe last, so files concatenate. Streaming out is the same call per batch.\n\nA resource can never span two lines: `JSON.stringify` escapes every newline it meets, which is what\nmakes the format safe to split on. A resource with no `resourceType` — which `parse()` can produce\nand reports — is filed under `Unknown` rather than dropped.\n\n### HL7 v2 in, FHIR out\n\n```ts\nimport { hl7v2Parser } from 'fhir-normalize/hl7v2';\n\nconst { bundle, meta } = createDefaultNormalizer().register(hl7v2Parser).parse(adtMessage);\n```\n\n| Segment | Becomes |\n| --- | --- |\n| `PID` | `Patient` — identifiers, names, birth date, gender, address, telecom, marital status, deceased |\n| `PV1` | `Encounter` — class, identifier, type, period |\n| `OBR` | `DiagnosticReport` — code, status, identifiers, effective and issued times |\n| `OBX` | `Observation` — code, status, and the `value[x]` that `OBX-2` asks for |\n| `AL1` | `AllergyIntolerance` — code, criticality, reaction |\n| `DG1` | `Condition` — code, recorded date |\n| `NK1` | `RelatedPerson` — name, relationship, address, telecom |\n| `IN1` | `Coverage` — payor, type, subscriber id, period |\n\nEverything else is skipped and **named in `meta.warnings`**. The first `PID` becomes the subject of\nevery other resource in the message.\n\n**An ORU comes out as a report with results, not a pile of loose observations.** v2 says which\nresults belong to which order by position — the `OBX` segments after an `OBR` are that order's,\nuntil the next `OBR` — so each `DiagnosticReport` points at its own `Observation`s through `result`:\n\n```ts\n// OBR (Lipid panel), OBX, OBX, OBR (CBC), OBX\n// -> DiagnosticReport/report-FIL-1  result: [Observation/observation-1, Observation/observation-2]\n// -> DiagnosticReport/report-FIL-2  result: [Observation/observation-3]\n```\n\nAn `OBX` with no `OBR` before it is still emitted on its own, since `OBX` is not only a lab thing.\n\nTwo details, both places a v2 parser usually goes wrong. **Delimiters are read from `MSH-1` and\n`MSH-2`**, and escape sequences are decoded after splitting rather than before — `\\S\\` is how a\nmessage carries a literal component separator. And **a timestamp with no UTC offset loses its\ntime**: R4's `dateTime` requires a timezone once hours are present, so the date is kept and the loss\nreported rather than assuming UTC.\n\n`Coverage.status` is written as `active`, because R4's value set for it is `active | cancelled |\ndraft | entered-in-error` with no member for declining to say, and an `IN1` in a message describing\na current admission is describing cover that applies.\n\n> [!NOTE]\n> **A curated subset, not the v2-to-FHIR implementation guide**, which is a specification in its own\n> right. This covers the segments carrying the substance of an ADT or ORU message, and says plainly\n> when it skips something.\n\n### Older and newer releases land on R4\n\nSTU3 and R5 differences are migrated automatically:\n\n```ts\nnormalizer.parse('{\"resourceType\":\"Observation\",\"status\":\"final\",\"context\":{\"reference\":\"Encounter/e\"}}');\n// -> resource.encounter is set; resource.context is gone\n// -> meta.warnings: ['Observation [0]: STU3 field \"context\" is \"encounter\" in R4 — migrated. …']\n```\n\nFHIR resources do not record which release they belong to, so this is **marker-driven**: a migration\nfires on a field that only exists in the other release. Genuine R4 input comes back untouched, and a\nbundle mixing releases is handled resource by resource. Migrations that cannot be bridged losslessly\nsay so in `meta.warnings`.\n\nMeasured against the published definitions:\n\n| | Differing from R4 | Migrated | Fits a pattern, no row | Not migrated |\n| --- | --- | --- | --- | --- |\n| STU3 → R4 | 193 | 59 | 0 | 134 |\n| R5 → R4 | 601 | 38 | 0 | 563 |\n\nThe third column is zero by test: every migration is applied to **every** resource the definitions\nsay it fits, not to the resource types someone thought to list. Across the sixteen resource types\nthat dominate a real export, every STU3 element that differs from R4 is migrated — 34 of 34.\n\nThe last column is not a backlog. It spreads across 98 resource types, more than half of it on\ndefinitional and conformance resources a clinical pipeline never receives, and much of the rest is\nR5 concepts with no R4 counterpart in any form. Those pass through untouched and\n[validation](#checking-that-a-payload-really-is-r4) names every one with its path.\n\nFive further rows fire only behind an `applies` guard, because their fields exist in R4 as well:\n`MedicationRequest.requester`, `Encounter.reason`, `Encounter.class`, `Appointment.reason` and\n`ImagingStudy.reason`. The table has 99 rows in total, across 34 resource types, and every figure\nhere is asserted by a test against `VERSION_MIGRATION` and the spec digests.\n\nInspect or extend the table via the exported `VERSION_MIGRATION`.\n\n### Checking that a payload really is R4\n\n```ts\nimport { validateBundle } from 'fhir-normalize/validate';\n\nfor (const issue of validateBundle(bundle)) {\n  console.log(issue.severity, issue.path, issue.message);\n}\n// warning  Bundle.entry[0].resource.informationSource   R4 defines no such element on MedicationRequest.\n```\n\n`validateResource(resource)` does one resource. Both return a flat array rather than throwing, so a\npayload with fifty problems reports fifty.\n\n| Severity | What it means |\n| --- | --- |\n| `error` | Structural: wrong cardinality, an empty array, a missing required element, or a choice carrying a type R4 forbids. |\n| `warning` | R4 defines no such element, or no such resource type. Usually an extension-adjacent field or one from another release. |\n\nIt descends one level into backbone elements, and **a nested resource is checked like any other** —\nin `contained`, in a Bundle held by another Bundle, and in `Parameters.parameter.resource`. The path\nsays how it was reached: `Bundle.entry[0].resource.contained[0].gender`. Nesting is bounded at 100\nlevels, beyond which the walk stops and reports that it did.\n\n> [!NOTE]\n> **Structural conformance against base R4, not the official validator.** It does not check\n> terminology bindings, profiles such as US Core, or FHIRPath invariants. It answers \"are these the\n> right element names, in the right shapes\" and nothing more.\n\n### One predictable shape per resource\n\nNormalizing the *format* still leaves FHIR's own polymorphism: `Observation.value[x]` arrives as\n`valueQuantity`, `valueCodeableConcept`, `valueString` and four more. `simplifyBundle` removes that:\n\n```ts\nimport { simplifyBundle } from 'fhir-normalize';\n\nconst [observation] = simplifyBundle(bundle);\n\nobservation.display;            // 'Body Weight · 74.5 kg'\nobservation.fields.value.kind;  // 'quantity'\nobservation.fields.value.text;  // '74.5 kg'\n```\n\nWhatever the input used, the value lands on **one key** with a `kind` discriminant:\n\n| Input element | Output | `kind` | `text` |\n| --- | --- | --- | --- |\n| `valueQuantity` | `value` | `quantity` | `74.5 kg` |\n| `valueCodeableConcept` | `value` | `concept` | `Present` |\n| `valueString` | `value` | `string` | `Sample looked normal` |\n| `valueRange` | `value` | `range` | `4.5 mmol/L – 6.1 mmol/L` |\n\nThe same applies to every choice element — `effective[x]`, `onset[x]`, `medication[x]` and the rest.\n\n**The fields are typed per resource.** Pass a typed resource and `simplifyResource` infers which\nfields exist and what each one is:\n\n```ts\nimport type { Observation } from 'fhir/r4';\nimport { simplifyResource } from 'fhir-normalize/simplified';\n\nconst { fields } = simplifyResource(observation);\n\nfields.code.text;        // string      — code is a CodeableConcept\nfields.performer[0].id;  // string|null — performer is a Reference list\nfields.value;            // the nine types R4 permits, so `switch (fields.value.kind)` is exhaustive\nfields.notAThing;        // compile error\n```\n\nName one directly as `ObservationFields`, or look it up with `FieldsOf<'Observation'>`. Input whose\ntype is not known statically still gets the loose map.\n\nDatatypes are flattened to fixed shapes, so variation *within* a field disappears too:\n\n- **CodeableConcept and bare Coding read the same**, with `text` filled from `text`, then\n  `coding[0].display`, then `coding[0].code`.\n- **References** split into `{ reference, resourceType, id }`.\n- **Repeating elements are always arrays**, even with one item, so `name[0]` is safe.\n- **Backbone elements keep their structure**, with each value resolved.\n- **Every value carries `text`**, so a consumer that only displays never switches on `kind`.\n\nCoverage is all 147 resource types, every element declared and checked against the R4 definitions.\n`unmapped` is therefore a real signal: on a conforming R4 resource it is empty, and anything in it\nis an extension, a field from another release, or a typo. **Nothing is dropped** — an undeclared\nelement is still read, with a generic reading rather than a curated one.\n\nResource types renamed across releases resolve through an alias, so `DeviceUsage` (R5) and\n`DeviceAssociation` (R6) both land on the R4 `DeviceUseStatement` shape.\n\nR4's `MedicinalProduct*` and `Substance*` family is deliberately unshaped, since R5 replaced it\nwholesale with the `*Definition` resources that are covered. They still parse and still get their\nchoice elements resolved.\n\nThis layer is additive and read-only; `parse()` output is untouched.\n\n### See the shape before you write against it\n\n`formatShape` prints a resource's simplified structure, so you can model against it without hunting\nfor a payload that exercises every field:\n\n```ts\nformatShape('Observation');\n```\n\n```\nObservation\n\n  status                       primitive\n  code                         concept\n  subject                      reference\n  value                        choice\n  component                    group[]\n    code                       concept\n    value                      choice\n\nvalue shapes\n  concept      { kind, text, code, system, display, codings }\n  quantity     { kind, text, value, unit, system, code, comparator }\n```\n\nAsk for an interface instead and paste it into your code:\n\n```ts\nformatShape('Observation', DESCRIBE_FORMAT.TYPESCRIPT);\n```\n\nEvery member is optional, because the shape declares what *can* appear rather than what must. The\ntype names are the ones this package exports, so it compiles as-is. `describeShape` returns the same\ninformation as data, and `listShapes()` enumerates every shaped resource type.\n\n### Flat rows, for CSV and for tables\n\nThe simplified view has done the hard part, so `toRows` is the mechanical last step — one row per\nresource, one column per field:\n\n```ts\nimport { simplifyBundle, toRows } from 'fhir-normalize/simplified';\n\nconst rows = toRows(simplifyBundle(bundle));\n// [{ resourceType: 'Observation', id: 'obs-1', code: 'Body Weight', value: '74.5 kg', … }]\n```\n\nA cell is `string | number | boolean | null` and nothing else. **No CSV text is emitted** — quoting\nand escaping are solved problems, so rows hand off to whichever library already solved them.\n\n**Columns are stable per resource type**, with `null` where a value is absent, so a writer cannot\nproduce ragged output. `columnsOf(rows)` gives the header and `toTables` returns a table each:\n\n```ts\nconst tables = toTables(simplifyBundle(bundle));   // { Patient: [...], Observation: [...] }\n```\n\nColumn names join with `_`, reading left to right: `component_0_value_unit` is\n`component[0].value.unit`. **Repeating elements** default to the first entry with a `_count` column,\nso the loss is visible:\n\n| Options | `Patient.name` becomes | Grain |\n| --- | --- | --- |\n| *(default)* | `name`, `name_count` | one row per resource |\n| `{ lists: 'index' }` | `name_0`, `name_1`, … | one row per resource |\n| `{ explode: 'name' }` | `name`, `name_index`, `name_count` | one row per name |\n\n**Backbone elements** flatten under their own prefix following the same rule — `component_code` by\ndefault, `component_0_code` when indexed, nesting further as `component_referenceRange_low`.\n\n`explode` names **one** field: exploding two lists at once produces their cross product. This is the\nanswer to the blood pressure Observation — `{ explode: 'component' }` gives a row for systolic and a\nrow for diastolic, with the code, subject and date duplicated onto each.\n\n**What lands in a cell** is `text` by default. Ask for `typed` cells to get the code rather than its\ndisplay name, or the magnitude rather than its rendering:\n\n```ts\ntoRows(resources, { cells: 'typed' })[0];\n// { code: 'Body Weight', code_kind: 'concept', code_code: '29463-7',\n//   code_system: 'http://loinc.org', value: '74.5 kg', value_value: 74.5, value_unit: 'kg', … }\n```\n\nTyped cells are a superset: every text column is still there, joined by the value's own properties\nand a `_kind` column. Numbers stay numbers, booleans stay booleans, and values nested in values\nflatten too.\n\n### De-identification\n\n```ts\nconst normalizer = createDefaultNormalizer({ deIdentify: true });\n```\n\nNames, telecom, addresses, photos, the rendered narrative and free text are removed. Dates are\nreduced to a year. Ids and references become stable surrogates, so **the Bundle still resolves** — a\nPatient and every reference to it get the same surrogate:\n\n```jsonc\n// before                                    // after\n\"id\": \"pat-1\"                                \"id\": \"14r0qpguzuvg\"\n\"subject\": {                                 \"subject\": {\n  \"reference\": \"Patient/pat-1\",                \"reference\": \"Patient/14r0qpguzuvg\"\n  \"display\": \"Ali Khan\"                      }\n}\n```\n\nClinical content survives. `Coding.display` (\"Body Weight\") is kept because it is vocabulary;\n`Reference.display` (\"Ali Khan\") is removed because it is usually a person — they share an element\nname and are told apart by structure. The same reasoning covers identifiers under another name:\n`Location.position` goes with the address, `Device.udiCarrier` with the serial number, and\n`Attachment.data` because a scanned letter is prose that happens to be base64.\n\n```ts\ncreateDefaultNormalizer({\n  deIdentify: {\n    dates: 'year',        // 'year' | 'redact' | 'keep'\n    freeText: 'redact',   // 'redact' | 'keep'\n    pseudonymizeIds: true,\n    salt: process.env.DEID_SALT,\n    keep: ['birthDate'],\n  },\n});\n```\n\n`deIdentifyBundle(bundle, options)` does the same as a plain function and returns a report of what\nchanged; `deIdentifyResource` is the same pass over one resource.\n\n> [!IMPORTANT]\n> **Read these limits before releasing anything.**\n>\n> - **Not certified HIPAA Safe Harbor or GDPR anonymisation.** It is a structural pass over element\n>   names and datatypes. Whether the output meets your obligations is a judgement only you can make.\n> - **Surrogates are pseudonyms, not a one-way seal.** They use a fast non-cryptographic hash, so it\n>   runs synchronously in a browser. Anyone with the salt who can guess the input space can confirm\n>   a guess. Use a long random `salt` you do not publish.\n> - **Free text is removed by default, and that default is doing real work.** Clinical prose names\n>   patients, relatives and dates, and no structural rule finds that reliably.\n> - **Safe Harbor rules not implemented**: ages over 89 are not aggregated, and dates are generalized\n>   rather than shifted, so intervals between events remain intact.\n> - This is the one part of the library that is deliberately lossy.\n\n### Warnings, not exceptions\n\nRecoverable gaps never throw — they land in `meta.warnings` and the payload still comes back:\n\n```ts\nconst { bundle, meta } = normalizer.parse('{\"name\":\"Ali\"}', SOURCE_FORMAT.FHIR_JSON);\n\nbundle.entry;   // [{ resource: { name: 'Ali' } }]  — nothing dropped\nmeta.warnings;  // ['Root object has no \"resourceType\" — kept as-is, ...']\n```\n\nOnly genuinely unreadable input throws: `UnsupportedFormatError` when no parser matched, and\n`ParseError` when the bytes could not be decoded. Both extend `FhirNormalizeError`, so one `catch`\ncovers the library.\n\n### Your own registry, and your own formats\n\n`createDefaultNormalizer()` is a convenience. Build the registry yourself to control what is in it,\nand implement `FormatParser` to add a format without forking:\n\n```ts\nimport { Normalizer, fhirJsonParser, SOURCE_FORMAT, type FormatParser } from 'fhir-normalize';\n\nconst csvParser: FormatParser = {\n  format: SOURCE_FORMAT.CSV,\n  canParse: (raw) => typeof raw === 'string' && raw.startsWith('id,'),\n  parse: (raw) => createParseResult({ /* … */ }),\n};\n\nconst normalizer = new Normalizer().register(fhirJsonParser).register(csvParser);\n```\n\n`createParseResult`, `createWarningLog` and `createCollectionBundle` are exported for exactly this.\nRegistering an already-registered format replaces it, so a built-in can be overridden. Importing the\npackage has no side effects, so this stays tree-shakeable.\n\n## API\n\n| Export | What it is |\n| --- | --- |\n| `Normalizer` | The registry. `register()`, `use()`, `parse()`, `detectFormat()`, `formats`, `stages`. |\n| `createDefaultNormalizer()` | A `Normalizer` with the built-in JSON-family parsers registered. |\n| `fhirJsonParser`, `ndjsonParser`, `fhirXmlParser`, `hl7v2Parser` | The built-in adapters. |\n| `parseNdjsonStream` | Streaming NDJSON, batch by batch. `fhir-normalize/stream` only. |\n| `toNdjson`, `toNdjsonByType` | A Bundle as newline-delimited JSON: one document, or one per resource type. |\n| `r4VersionTransform`, `VERSION_MIGRATION`, `FHIR_VERSION` | The cross-version stage, its table, and the release tokens. |\n| `validateBundle`, `validateResource` | Structural R4 conformance. `fhir-normalize/validate` only. |\n| `simplifyBundle`, `simplifyResource` | The simplified view: choice types resolved, datatypes flattened. |\n| `toRows`, `toTables`, `columnsOf` | The simplified view as flat records. `fhir-normalize/simplified` only. |\n| `formatShape`, `describeShape`, `listShapes`, `shapeFor` | A resource type's simplified structure, printed or as data. |\n| `deIdentifyBundle`, `deIdentifyResource`, `createDeIdentifyTransform` | Structural de-identification: a Bundle, one resource, or a stage. |\n| `resolveChoice`, `valueProperties` | One `value[x]` element on its own, and a value kind's property names. |\n| `ParseResult`, `FormatParser`, `ResultTransform` | The result shape, the adapter contract, the stage contract. |\n| `createParseResult`, `createWarningLog`, `createCollectionBundle` | Helpers for writing an adapter. |\n| `FhirNormalizeError`, `UnsupportedFormatError`, `ParseError` | Error types. |\n| `RESOURCE_SHAPE`, `REDACT_ELEMENT` | The per-resource field specs, and the elements de-identification removes. |\n| `SOURCE_FORMAT`, `BUNDLE_TYPE`, `RESOURCE_TYPE`, `VALUE_KIND`, `LIST_MODE`, `CELL_MODE`, `DATE_POLICY`, `FREE_TEXT_POLICY` | Token constants; the string unions derive from these. |\n| `isBundle`, `isBundleType` | Type guards. |\n\n## Playground\n\n**[fhir-normalize-playground.vercel.app](https://fhir-normalize-playground.vercel.app)**\n\n[`playground/`](playground) is a Next.js app running the library in the browser: paste raw data on\nthe left, watch the standard shape come out on the right, with the detected format, the extracted\nresources and the warnings each on a tab. **Rows** is where to try the tabular projection without\nwriting code — load the `Blood pressure` sample and set explode to `component`.\n\nIt imports `fhir-normalize` from the workspace rather than a published build, so the demo cannot\ndrift from the library.\n\n```bash\npnpm --filter playground dev\n```\n\n## Development\n\nA pnpm workspace; the library lives in [`packages/fhir-normalize`](packages/fhir-normalize).\n\n```bash\npnpm install\npnpm verify      # build, lint, knip, typecheck, test — the gate CI runs\n```\n\nRelease history is in [CHANGELOG.md](CHANGELOG.md), and [CONTRIBUTING.md](CONTRIBUTING.md) is worth\nreading first: the shape tables, the cross-version migrations and the generated files are all\nchecked against vendored copies of the FHIR definitions. Security reports go through\n[a private advisory](SECURITY.md), not a public issue.\n\nReleases are tag-driven — pushing `vX.Y.Z` runs the full gate and publishes only if it passes and\nthe tag matches the package version.\n\nUpgrading from 1.x? Two breaking changes, both covered in\n[CHANGELOG.md](CHANGELOG.md): XML moved to its own entry point, and `simplifyResource` returns typed\nfields for a typed input.\n\n## License\n\nMIT\n","readmeFilename":""}