npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

era-835

v0.3.1

Published

Extremely basic X12 835 file parser. Use at your own risk

Downloads

31

Readme

era-835

Dear Tormented Soul,

If you are reading this, you are probably in search of a simple answer/parser for the X12 835 data format. You are probably working on a project tangentially related to health care and need to process a god forsaken data format that's decades old. You ask yourself, why me? Why do I have to be the one trudging through the vile excrements of decades of bureaucratic bullshit? Which asinine idiot decided this would be the format to rule over a whole industry? This barbaric, chaotic, deprecate format, of all formats.

I understand your pain. Trust me, I do.

This package is the result of my pain and frustration. It is my attempt at understanding this format starting with little to no knowledge, armed with only Google and about 3 poorly written and incomplete pieces of "documentation" from insurance websites where I've gleaned enough to finish my own project.

I hope this package can offer you some relief and is able to get you where you need to go. But please, read the EXTREME DISCLAIMERS below to understand what you are about to use.

EXTREME DISCLAIMERS

This package is not meant for production. It literally has not been tested beyond the 4 or 5 files I've manually thrown at it. The information extracted from the files are only the fields I need and that's it. There is no plan for further implementation, updates, or support.

If this package is not extracting the information you need or you want it formatted differently, please take a look at index.js. That file should be fairly well documented, and I've done my best to break everything down into easy-to-understand and easy-to-modify chunks.

Methods

parseFile(path)

Given the path to a data file, returns an object with the parsed data.

parseFiles(paths)

Given an array of strings as paths to data files, returns an array of objects with the parsed data.

util.readFile(path)

Given the path to a data file, returns an array of data ready to use in the following util files.

util.getLine(lines, prefix, modifier = null)

Given an array of data, returns the first line that matches the prefix and modifier (if used).

util.getLines(lines, prefix, modifier = null)

Given an array of data, returns an array of data that matches the prefix and modifier (if used).

util.getRangeIndices(lines, start, end)

Given an array of data, returns the start and end indices of the range of lines that start with start and ends with end. Does not include the line that starts with end. If start is not found, returns [-1, -1]. If end is not found, the end index becomes the length of the array.

util.getRange(lines, start, end)

Given an array of data, returns the first instance of a subset of the original data that starts with start and ends with end or end of the original data if no ending line match is found. Returns an empty array if no lines with the start prefix is found.

util.getRanges(lines, start, end)

Given an array of data, returns all instances of util.getRange.

util.getClaims(lines)

Given an array of data, returns all check and claim information.