Code Monkey home page Code Monkey logo

x12.net's People

Contributors

bvanfleet avatar cybernescens avatar tridian-tn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

x12.net's Issues

Remove Deprecated SQL Code

X12.Repository has deprecated code. This code has been deprecated for quite some time, and with the current work being done, it's time to remove it.

This should be reserved as a last step, as it's a major change which has definite impact to API developers using it still (although they've been warned for quite some time).

DevOps | Get Travis CI and NuGet Release Working

I've been working on a Travis CI integration. I am creating this to track my activities around this. Once I've completed the Travis CI setup (with NUnit tests), then I'll go ahead with getting it packaged and pushed to NuGet. At that time, we should complete the 5.0.X release.

Migrate strings to Resource files in respective projects

Segregating portions of the code into projects allows the use of Resource files to hold localized strings that can be inserted and formatted on the fly. Doing this will also remove many "magic strings" and reduce potential string.Format bugs seen.

Profile Memory Performance With Large X12 Documents

Describe the bug
Because X12.NET converts from a string document to an object model, a sizeable chunk of memory is needed to represent the data and metadata. Unfortunately, it's been seen that a 77MB sized file represents a large (+2GB) object model). Even worse, is that it's been observed that the interchange collections returned from the parse method aren't able to be freed.

To Reproduce
Steps to reproduce the behavior:

  1. Import large X12 document
  2. Hold returned collection from the parse method into a variable
  3. Observe memory usage throughout the lifetime of the collection variable

Expected behavior
Memory that's allocated can be freed after its lifetime (or explicitly). Potentially implement IDisposable.

Screenshots
At its peak, this execution trying to parse a 77MB file into a collection of interchanges allocated 2.5GB of memory. Execution did not complete before a cancellation of the process was triggered.

image

Legend:

  • Gray: unmanaged resources
  • Red: Gen1 resources
  • Green: Gen2 resources
  • Purple: Large Objects on Heap (LOH), considered Gen2 for GC purposes

Desktop (please complete the following information):

  • OS: Windows 10
  • Version: .Net 4.6.1

Style Guide Cleanup

Using the ReSharper StyleCop extension, this task is to cleanup the code so that it follows a consistent style. The default settings are being used, and may need to be adjusted later. Once complete, a CONTRIBUTING.md file will need to be generated with the current style guide so future contributors can know how to comply.

Exception Thrown in X12Parser Causes "Not Responding" Dialog

Note: This was initially reported in original repository

Describe the bug
When running the X12Parser CLI, if an exception is thrown, it's reported. However, it's immediately followed up with a Windows "Program Not Responding" prompt until it's forcibly closed.

To Reproduce
Steps to reproduce the behavior:

  1. Build X12.X12Parser CLI
  2. Launch command prompt and navigate to the build folder
  3. Run the CLi with an incorrect (or missing) file path

Expected behavior
If an exception is thrown, then the application should gracefully report and exit

Desktop (please complete the following information):

  • OS: Windows 10

Review 837I Specification

I need to read over the 837I 5010 specification to determine what corrections to our XSLT files need to take place. Some segments, such as PER and DMG may need adjustment.

I also need to review over the HL parent ID requirements to determine if any other adjustments need to be made. One organization that uses the original project has noted that this can be a pain point.

ClaimFormTester Fonet

Describe the bug
I am attempting to run some of the tests and do some basic testing on the 834 and came across this error:
ClaimFormTester: The name 'Fonet' does not exist in the current context
X12Parser-1\tests\OopFactory.X12.Hipaa.Tests.Unit\Claims\ClaimFormTester.cs 69 Active
Running on Visual Studio

To Reproduce
Steps to reproduce the behavior:

  1. Right click on ClaimFormTester unit test and select Run Unit Tests

Expected behavior
I expect the unit test to not fail.

Desktop (please complete the following information):

  • OS: Name Microsoft Windows 10 Pro
  • Version 10.0.17134 Build 17134

Replace FoNet Library With More Generic Solution

Is your feature request related to a problem? Please describe.
A DotNet Core alternative to FoNet needs to be found and added where used in the DotNetCore branch of X12.NET

Describe alternatives you've considered
Don't want to build my own. This is the only conversion project I'd like to take on.

Database Unit Tests Failing

Describe the bug
Getting two failures in database tests:

  1. Initialization method OopFactory.X12.Tests.Integration.SqlReadOnlyTransactionRepoTester.TestInitialize threw exception. System.Data.SqlClient.SqlException: System.Data.SqlClient.SqlException: Database 'Test' already exists. Choose a different database name..
  2. Test method OopFactory.X12.Tests.Integration.Repositories.SaveRevisionTester.SaveRevisionGuidTest threw exception: System.Data.SqlClient.SqlException: Cannot open database "Test5" requested by the login. The login failed. Login failed for user 'domain\user'.

To Reproduce
Steps to reproduce the behavior:

  1. Build project
  2. Run OopFactory.X12.Tests.Integration tests

Expected behavior
Passing tests that can properly create and clean test databases.


If the database for the first error is non-existent, then a different error is presented.

Code documentation

The current code has some documentation. However, it's fairly sparse. All publicly visible code must be documented so API developers, and future maintainers may be able to better understand what the code is doing.

The primary focus is the X12.Shared library, which includes the majority of publicly available models.

Tests Fail

Need to review over the unit tests to determine what fails, why, and what needs to be done to get them working.

Refactor HIPPA library

The HIPPA library has several cases where enums are in the same file as the classes, and a few classes that were experimental. I need to remove dead code, and break out all the enums into a separate namespace.

Correct 4010 837I Unit Test Sample Documents

Is your feature request related to a problem? Please describe.
If 4010 837I samples are enabled, then the unit tests fail. It's possible (however unlikely) that someone may still need this revision.

The biggest reason to fix this is the possibility that it's signalling an internal issue which may affect other scenarios.

Describe alternatives you've considered

  • Adjusting the sample files to match the spec, and force the tests to work
  • Ignoring them, since HCP have moved on to 5010 837 specs.

Refactor DBCreation class

I hate the DbCreation class, it's turned into quite the "golden hammer" or "kitchen-sink" class. From a first look, we could split all of the table generation into a factory class, and then call that service on the fly. This could also allow us to expand the use of this code into other DB systems (Oracle, NoSQL, etc.)

This will wait until after the release of v5.0.0 until correction.

Transaction SE segment ignored in x12 stream reader (ReadNextTransaction)

Describe the bug
When reading an X12 file using the x12 stream reader ReadNextTransaction method, the SE segment is left out of the result. This is because of the internal do-while loop stopping at SE, without parsing it first.

Expected behavior
Using the ReadNextTransaction method returns a transaction with the SE segment included

Migrate from Oopfactoy.X12.<namespace> to just X12.<namespace>

Describe the solution you'd like
I'd like to remove all namespace references to OopFactory (e.g. X12.Parsing or X12.Sql)

Additional context
The purpose of this is for library branding. Since this is a fork, I'd like to set mine apart slightly. While much of the code will match.

X12 835 Payment/Remittance Advice Docs

Is there something in the works to support X12 835 Payment/Remittance Advice documents?

I use the parent of this library (OopFactory.X12.HIPAA) to parse X12 271 Eligibility Responses and would want to see something that has the capability to break each of the other X12 HIPAA document types into OOP Objects based on the loop structure of the X12 - not just at the segment level. I also feel it is much more efficient use of my employer's resources if there is something that does this out of the box so I do not have to spin my own.

Thanks in advance!

X12 837: Empty Box 5 (Tax Identifier Number) in certain scenario

Question:
If an institutional 837 claim was submitted with separate billing-provider data (Box 1) and pay-to data (Box 2) and the pay-to TIN was no specified, is it expected for Box 5 to be blank ?

From the logic (https://github.com/bvanfleet/X12.NET/blob/master/src/X12.Hipaa/Claims/Claim.cs#L316-L330), I can see the precedence and why the output for Box 5 is blank. However, can the TaxId be copied from the billing-provider (Box 1) instead or is that against some requirements ?

Additionally, from X12.Hipaa.Claims, claim.PayToProvider.TaxId (Provider) is a private member.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.