Skip to content

Commit

Permalink
0.54.0 Release (#91)
Browse files Browse the repository at this point in the history
* adding top level linuxforhealth package

Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>

* cli updates and formatting

Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>

* additional README updates

Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>

* setting version ranges for setup

Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>
  • Loading branch information
dixonwhitmire authored Nov 19, 2021
1 parent 95477f6 commit 8cb3197
Show file tree
Hide file tree
Showing 62 changed files with 104 additions and 104 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ jobs:
- name: Run X12 CLI
run: |
for f in demo-file/demo.*; do
cli -m -p $f 1> /dev/null
lfhx12 -m -p $f 1> /dev/null
done
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

LinuxForHealth x12 streams ASC 5010 X12 health care transactions into [Pydantic Models](https://pydantic-docs.helpmanual.io/) for a pleasant pythonic parsing experience! Integration options include REST endpoints, CLI (command line), or direct access using the Python SDK.

Implemented formats include:
Supported formats include:
* 005010X212 Claim Status
* 005010X221 Claim Payment
* 005010X222 Professional Claim
Expand Down Expand Up @@ -56,7 +56,7 @@ one or transaction models from the X12 message.

To stream segments, create a X12SegmentReader instance:
```python
from x12.io import X12SegmentReader
from linuxforhealth.x12.io import X12SegmentReader

with X12SegmentReader("/home/edi/270.x12") as r:
# return the segment name and field list
Expand All @@ -67,7 +67,7 @@ with X12SegmentReader("/home/edi/270.x12") as r:

To stream models, create a X12ModelReader instance:
```python
from x12.io import X12ModelReader
from linuxforhealth.x12.io import X12ModelReader

with X12ModelReader("/home/edi/270.x12") as r:
for model in r.models():
Expand All @@ -85,7 +85,7 @@ The X12 CLI parses a X12 input file and returns either a list of X12 segments, o
To view help information
```shell
user@mbp x12 % source venv/bin/activate
(venv) user@mbp x12 % cli --help
(venv) user@mbp x12 % lfhx12 --help
usage: LinuxForHealth X12 [-h] [-s | -m] [-x] [-p] file

The LinuxForHealth X12 CLI parses and validates X12 messages.
Expand All @@ -104,7 +104,7 @@ optional arguments:

To parse a X12 message into segments with pretty printing enabled
```shell
(venv) user@mbp x12 % cli -s -p demo-file/demo.270
(venv) user@mbp x12 % lfhx12 -s -p demo-file/demo.270
[
{
"ISA00": "ISA",
Expand All @@ -115,7 +115,7 @@ To parse a X12 message into segments with pretty printing enabled
To parse a X12 message into models with pretty printing enabled
```shell
(venv) user@mbp x12 % cli -m -p demo-file/demo.270
(venv) user@mbp x12 % lfhx12 -m -p demo-file/demo.270
[
{
"header": {
Expand Down
8 changes: 4 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = linuxforhealth-x12
version = attr: x12.__version__
version = attr: linuxforhealth.x12.__version__
description = LinuxForHealth x12 streams ASC 5010 X12 health care transactions into Pydantic Models for a pleasant pythonic parsing experience! Integration options include REST endpoints, CLI (command line), or direct access using the Python SDK
long_description: file: README.md
long_description_content_type = text/markdown
Expand All @@ -18,7 +18,7 @@ classifiers =
include_package_data = True
install_requires =
pydantic >= 1.8
python-dotenv
python-dotenv >= 0.19.0
packages=find:
package_dir=
=src
Expand All @@ -30,9 +30,9 @@ where=src

[options.entry_points]
console_scripts =
cli = x12.cli:main
lfhx12 = linuxforhealth.x12.cli:main
black = black:patched_main

[options.extras_require]
api = fastapi; uvicorn[standard]
dev = black; pre-commit; pytest
dev = black>=21.8b0; pre-commit>=2.14.1;pytest>=6.2.5
File renamed without changes.
2 changes: 1 addition & 1 deletion src/x12/__init__.py → src/linuxforhealth/x12/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@

load_dotenv()

__version__ = "0.53.00"
__version__ = "0.54.00"
6 changes: 3 additions & 3 deletions src/x12/cli.py → src/linuxforhealth/x12/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@

import argparse
import json
from x12.encoding import X12JsonEncoder
from x12.io import X12SegmentReader, X12ModelReader
from typing import List, Dict
from .encoding import X12JsonEncoder
from .io import X12SegmentReader, X12ModelReader
from typing import List


CLI_DESCRIPTION = """
Expand Down
File renamed without changes.
File renamed without changes.
10 changes: 5 additions & 5 deletions src/x12/io.py → src/linuxforhealth/x12/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
from io import StringIO, TextIOBase
from typing import Dict, Iterator, List, Optional, Tuple

from x12.config import IsaDelimiters, TransactionSetVersionIds, get_config
from x12.models import X12Delimiters, X12SegmentGroup, X12SegmentName
from x12.parsing import X12Parser, create_parser
from x12.segments import SEGMENT_LOOKUP
from x12.support import is_x12_data, is_x12_file
from .config import IsaDelimiters, TransactionSetVersionIds, get_config
from .models import X12Delimiters, X12SegmentGroup, X12SegmentName
from .parsing import X12Parser, create_parser
from .segments import SEGMENT_LOOKUP
from .support import is_x12_data, is_x12_file

logger = logging.getLogger(__name__)

Expand Down
File renamed without changes.
8 changes: 4 additions & 4 deletions src/x12/parsing.py → src/linuxforhealth/x12/parsing.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from importlib import import_module
from typing import Callable, Dict, List, Optional, Set

from x12.models import X12SegmentGroup, X12Segment, X12Delimiters
from x12.segments import SEGMENT_LOOKUP
from .models import X12SegmentGroup, X12Segment, X12Delimiters
from .segments import SEGMENT_LOOKUP

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -341,7 +341,7 @@ def _load_loop_parsers(transaction_code: str, implementation_version) -> Dict:
loop_parsers = defaultdict(list)

parsing_module = import_module(
f"x12.transactions.x12_{transaction_code}_{implementation_version}.parsing"
f"linuxforhealth.x12.transactions.x12_{transaction_code}_{implementation_version}.parsing"
)

funcs = [
Expand All @@ -362,7 +362,7 @@ def _load_transaction_model(
) -> X12SegmentGroup:
"""Returns the transaction model for the x12 transaction"""
transaction_module = import_module(
f"x12.transactions.x12_{transaction_code}_{implementation_version}.transaction_set"
f"linuxforhealth.x12.transactions.x12_{transaction_code}_{implementation_version}.transaction_set"
)

# return transaction set model
Expand Down
6 changes: 3 additions & 3 deletions src/x12/segments.py → src/linuxforhealth/x12/segments.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@

from pydantic import Field, PositiveInt, condecimal, validator, root_validator, conint

from x12.models import X12Segment, X12SegmentName
from x12.support import (
from .models import X12Segment, X12SegmentName
from .support import (
parse_x12_date,
parse_interchange_date,
field_validator,
)
from x12.validators import validate_date_field
from .validators import validate_date_field


class AaaSegment(X12Segment):
Expand Down
2 changes: 1 addition & 1 deletion src/x12/support.py → src/linuxforhealth/x12/support.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from pydantic import validator, BaseModel

from x12.config import IsaDelimiters
from .config import IsaDelimiters


def is_x12_data(input_data: str) -> bool:
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
transactional modeling and processing.
"""

from x12.models import X12SegmentGroup
from x12.segments import (
from linuxforhealth.x12.models import X12SegmentGroup
from linuxforhealth.x12.segments import (
SeSegment,
N3Segment,
N4Segment,
Expand Down Expand Up @@ -56,7 +56,7 @@
)
from typing import List, Optional
from pydantic import Field, root_validator
from x12.validators import validate_duplicate_ref_codes
from linuxforhealth.x12.validators import validate_duplicate_ref_codes


class Header(X12SegmentGroup):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"""
from enum import Enum

from x12.parsing import match, X12ParserContext
from linuxforhealth.x12.parsing import match, X12ParserContext
from typing import Optional, Dict


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from typing import Literal, Optional, List

from pydantic import Field, validator
from x12.transactions.validators import validate_hl_parent_id
from x12.segments import (
from linuxforhealth.x12.transactions.validators import validate_hl_parent_id
from linuxforhealth.x12.segments import (
BhtSegment,
HlSegment,
Nm1Segment,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
Defines the Eligibility 270 005010X279A1 transaction set model.
"""

from typing import List, Dict, Union, Tuple
from typing import List, Dict, Tuple

from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup

from .loops import Footer, Header, Loop2000A
from pydantic import root_validator
from x12.validators import validate_segment_count
from linuxforhealth.x12.validators import validate_segment_count


class EligibilityInquiry(X12SegmentGroup):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
transactional modeling and processing.
"""

from x12.models import X12SegmentGroup
from x12.segments import (
from linuxforhealth.x12.models import X12SegmentGroup
from linuxforhealth.x12.segments import (
SeSegment,
N3Segment,
N4Segment,
Expand Down Expand Up @@ -66,7 +66,7 @@
)
from typing import List, Optional
from pydantic import Field, root_validator
from x12.validators import validate_duplicate_ref_codes
from linuxforhealth.x12.validators import validate_duplicate_ref_codes


class Header(X12SegmentGroup):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"""
from enum import Enum

from x12.parsing import match, X12ParserContext
from linuxforhealth.x12.parsing import match, X12ParserContext
from typing import Dict


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
from enum import Enum
from typing import Literal, Optional, List

from pydantic import Field, validator
from x12.transactions.validators import validate_hl_parent_id
from x12.segments import (
from pydantic import Field
from linuxforhealth.x12.transactions.validators import validate_hl_parent_id
from linuxforhealth.x12.segments import (
AaaSegment,
BhtSegment,
HlSegment,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
Defines the Eligibility 271 005010X279A1 transaction set model.
"""

from typing import List, Dict, Union, Tuple
from typing import List, Dict, Tuple

from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup

from .loops import Footer, Header, Loop2000A
from pydantic import root_validator
from x12.validators import validate_segment_count
from linuxforhealth.x12.validators import validate_segment_count


class EligibilityBenefit(X12SegmentGroup):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
The Subscriber and Dependent Claim Status and Service Line Loops share segment classes as the data structures
are identical.
"""
from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup
from .segments import (
HeaderStSegment,
HeaderBhtSegment,
Expand All @@ -47,7 +47,7 @@
Loop2000EHlSegment,
Loop2100ENm1Segment,
)
from x12.segments import SeSegment
from linuxforhealth.x12.segments import SeSegment
from typing import List, Optional
from pydantic import Field

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
Loop parsing functions are implemented as set_[description]_loop(context: X12ParserContext, segment_data: Dict).
"""
from enum import Enum
from x12.parsing import X12ParserContext, match
from linuxforhealth.x12.parsing import X12ParserContext, match
from typing import Dict, Optional


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Specialized segment models for the Health Care Claim Status Request 276 005010X212 transaction.
"""
from x12.segments import (
from linuxforhealth.x12.segments import (
StSegment,
BhtSegment,
HlSegment,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
Defines the Health Care Claims Status 276 005010X212 transaction set model.
"""
from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup
from .loops import Header, Footer, Loop2000A
from typing import List
from pydantic import Field, root_validator
from x12.validators import validate_segment_count
from linuxforhealth.x12.validators import validate_segment_count


class HealthCareClaimsStatusRequest(X12SegmentGroup):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
The Subscriber and Dependent Claim Status and Service Line Loops share segment classes as the data structures
are identical.
"""
from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup
from .segments import (
HeaderStSegment,
HeaderBhtSegment,
Expand All @@ -50,7 +50,7 @@
Loop2000EHlSegment,
Loop2100ENm1Segment,
)
from x12.segments import SeSegment, StcSegment
from linuxforhealth.x12.segments import SeSegment, StcSegment
from typing import List, Optional
from pydantic import Field

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
Loop parsing functions are implemented as set_[description]_loop(context: X12ParserContext, segment_data: Dict).
"""
from enum import Enum
from x12.parsing import X12ParserContext, match
from linuxforhealth.x12.parsing import X12ParserContext, match
from typing import Dict, Optional


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Specialized segment models for the Health Care Claim Status Response 277 005010X212 transaction.
"""
from x12.segments import (
from linuxforhealth.x12.segments import (
StSegment,
BhtSegment,
HlSegment,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
Defines the Health Care Claims Status 277 005010X212 transaction set model.
"""
from x12.models import X12SegmentGroup
from linuxforhealth.x12.models import X12SegmentGroup
from .loops import Header, Footer, Loop2000A
from typing import List
from pydantic import Field, root_validator
from x12.validators import validate_segment_count
from linuxforhealth.x12.validators import validate_segment_count


class HealthCareClaimsStatusResponse(X12SegmentGroup):
Expand Down
Loading

0 comments on commit 8cb3197

Please sign in to comment.