fhir-sheets 1.2.1__tar.gz → 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fhir-sheets might be problematic. Click here for more details.

@@ -1,12 +1,14 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: fhir-sheets
3
- Version: 1.2.1
3
+ Version: 1.3.0
4
4
  Summary: FhirSheets is a command-line tool that reads an Excel file in FHIR cohort format and generates FHIR bundle JSON files from it. Each row in the template Excel file is used to create an individual JSON file, outputting them to a specified folder.
5
+ License-File: LICENSE
5
6
  Author: Michael Riley
6
7
  Author-email: Michael.Riley@gtri.gatech.edu
7
8
  Requires-Python: >=3.13
8
9
  Classifier: Programming Language :: Python :: 3
9
10
  Classifier: Programming Language :: Python :: 3.13
11
+ Classifier: Programming Language :: Python :: 3.14
10
12
  Requires-Dist: et-xmlfile (==1.1.0)
11
13
  Requires-Dist: jsonpath-ng (==1.6.1)
12
14
  Requires-Dist: openpyxl (==3.1.5)
@@ -1,10 +1,11 @@
1
1
  [tool.poetry]
2
2
  name = "fhir-sheets"
3
- version = "1.2.1"
3
+ version = "1.3.0"
4
4
  description = "FhirSheets is a command-line tool that reads an Excel file in FHIR cohort format and generates FHIR bundle JSON files from it. Each row in the template Excel file is used to create an individual JSON file, outputting them to a specified folder."
5
5
  authors = ["Michael Riley <Michael.Riley@gtri.gatech.edu>"]
6
6
  packages = [{include = "fhir_sheets", from = "src"}]
7
7
  readme = "README.md"
8
+ long-description-content-type = "text/markdown"
8
9
 
9
10
  [tool.poetry.dependencies]
10
11
  python = ">=3.13" # Specify the compatible Python version here
@@ -16,4 +17,7 @@ ply = "3.11"
16
17
 
17
18
  [build-system]
18
19
  requires = ["poetry-core"]
19
- build-backend = "poetry.core.masonry.api"
20
+ build-backend = "poetry.core.masonry.api"
21
+
22
+ [pytest]
23
+ testpaths = ["tests"]
@@ -32,6 +32,13 @@ def initialize_bundle():
32
32
  root_bundle = {}
33
33
  root_bundle['resourceType'] = 'Bundle'
34
34
  root_bundle['id'] = str(uuid.uuid4())
35
+ root_bundle['meta'] = {
36
+ 'security': [{
37
+ 'system': 'http://terminology.hl7.org/CodeSystem/v3-ActReason',
38
+ 'code': 'HTEST',
39
+ 'display': 'test health data'
40
+ }]
41
+ }
35
42
  root_bundle['type'] = 'transaction'
36
43
  root_bundle['entry'] = []
37
44
  return root_bundle
@@ -43,7 +50,12 @@ def initialize_resource(resource_definition):
43
50
  initial_resource['id'] = str(uuid.uuid4()).strip()
44
51
  if resource_definition.profiles:
45
52
  initial_resource['meta'] = {
46
- 'profile': resource_definition.profiles
53
+ 'profile': resource_definition.profiles,
54
+ 'security': [{
55
+ 'system': 'http://terminology.hl7.org/CodeSystem/v3-ActReason',
56
+ 'code': 'HTEST',
57
+ 'display': 'test health data'
58
+ }]
47
59
  }
48
60
  return initial_resource
49
61
 
@@ -196,7 +196,7 @@ def parse_flexible_address(address):
196
196
  country_pattern = r'(?:\s*(?P<country>[\w\s]+|))?$'
197
197
 
198
198
  # Compile the full pattern to match the postal code, state, and country
199
- full_pattern = rf'^(?P<line>.*?)\^(?P<city>.*?)\^(?P<district>.*?)\^{state_pattern}\^{postal_code_pattern}\^{country_pattern}'
199
+ full_pattern = rf'^(?P<line>.*?)\^(?P<city>.*?)\^(?P<district>.*?)\^{postal_code_pattern}\^{state_pattern}\^{country_pattern}'
200
200
 
201
201
  match = re.search(full_pattern, address)
202
202
 
File without changes
File without changes