phc-ingestion 0.10.6__py3-none-any.whl → 0.10.7__py3-none-any.whl
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.
|
@@ -72,9 +72,16 @@ class ManifestAssembler:
|
|
|
72
72
|
|
|
73
73
|
response = self.client.invoke(path, "get", None, params)
|
|
74
74
|
entries = response.get("entry", [])
|
|
75
|
-
patient = entries[0]["resource"] if len(entries) > 0 else None
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
if len(entries) == 0:
|
|
77
|
+
return None
|
|
78
|
+
|
|
79
|
+
if len(entries) > 1:
|
|
80
|
+
raise RuntimeError(
|
|
81
|
+
f"Found {len(entries)} patients with kit id {self.kit_id}. Expected 1."
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
return entries[0]["resource"]
|
|
78
85
|
|
|
79
86
|
def __fetch_resource_by_type_and_reference(
|
|
80
87
|
self,
|
|
@@ -92,28 +99,16 @@ class ManifestAssembler:
|
|
|
92
99
|
except RuntimeError:
|
|
93
100
|
return None
|
|
94
101
|
|
|
95
|
-
def __extract_identifier_from_resource(self, resource: Resource
|
|
96
|
-
if not resource:
|
|
97
|
-
return ""
|
|
98
|
-
|
|
102
|
+
def __extract_identifier_from_resource(self, resource: Resource) -> str:
|
|
99
103
|
identifiers = resource.get("identifier", [])
|
|
100
104
|
return identifiers[0].get("value", "") if identifiers else ""
|
|
101
105
|
|
|
102
106
|
def __extract_id_from_reference(self, reference: Reference) -> str:
|
|
103
|
-
|
|
104
|
-
return ""
|
|
105
|
-
|
|
106
|
-
ref_string = reference.get("reference")
|
|
107
|
-
if not ref_string:
|
|
108
|
-
return ""
|
|
109
|
-
|
|
107
|
+
ref_string = reference.get("reference", "")
|
|
110
108
|
parts = ref_string.split("/")
|
|
111
109
|
return parts[1] if len(parts) > 1 else parts[0]
|
|
112
110
|
|
|
113
111
|
def __extract_elation_mrn(self, patient: Patient) -> str:
|
|
114
|
-
if not patient:
|
|
115
|
-
return ""
|
|
116
|
-
|
|
117
112
|
identifier = next(
|
|
118
113
|
(
|
|
119
114
|
x
|
|
@@ -134,12 +129,9 @@ class ManifestAssembler:
|
|
|
134
129
|
|
|
135
130
|
def __parse_human_name(self, human_name: list[HumanName] | None):
|
|
136
131
|
if not human_name:
|
|
137
|
-
return
|
|
138
|
-
|
|
139
|
-
human_name = next((x for x in human_name if x.get("use") == "official"), None)
|
|
132
|
+
return {}
|
|
140
133
|
|
|
141
|
-
if
|
|
142
|
-
return None
|
|
134
|
+
human_name = next((x for x in human_name if x.get("use") == "official"), human_name[0])
|
|
143
135
|
|
|
144
136
|
last_name = human_name.get("family", "")
|
|
145
137
|
first_name = human_name.get("given", [])[0]
|
|
@@ -185,10 +177,10 @@ class ManifestAssembler:
|
|
|
185
177
|
"indication": NEBULA_INDICATION,
|
|
186
178
|
"indicationDisplay": NEBULA_INDICATION,
|
|
187
179
|
"patientInfo": {
|
|
188
|
-
"lastName": patient_info.get("lastName"),
|
|
180
|
+
"lastName": patient_info.get("lastName", ""),
|
|
189
181
|
"dob": datetime.fromisoformat(patient_birth_date).strftime("%Y-%m-%d"),
|
|
190
|
-
"firstName": patient_info.get("firstName"),
|
|
191
|
-
"gender": patient
|
|
182
|
+
"firstName": patient_info.get("firstName", ""),
|
|
183
|
+
"gender": patient.get("gender", ""),
|
|
192
184
|
},
|
|
193
185
|
**(
|
|
194
186
|
{
|
|
@@ -28,7 +28,7 @@ ingestion/generic/process.py,sha256=ZaVnZ_gx9faDUsuresI1A0oCegTa-dPQT7DBFMeZGyY,
|
|
|
28
28
|
ingestion/generic/utils.py,sha256=1MEIru7uq38IjUdL8lcHqDH0oTki9uWrz1f2e-pmRoU,2814
|
|
29
29
|
ingestion/nebula/__init__.py,sha256=VauK-rup_N8ZXVohx3HYqHX_PE_WoPyMUhdv2R7al4o,45
|
|
30
30
|
ingestion/nebula/constants.py,sha256=thKqSwemdaAwAmKvF4FEVI9l1Ph5ergsnMlx6nWte7E,357
|
|
31
|
-
ingestion/nebula/manifest_assembler.py,sha256=
|
|
31
|
+
ingestion/nebula/manifest_assembler.py,sha256=N_19PLdbm9GaptsYfK1whTmVas5qZEtZC6VId_EFVy0,6353
|
|
32
32
|
ingestion/nebula/process.py,sha256=D2ct9tF60ZIP_jZdjvgjfTkhEAkNNEhxaSqa04CtNR8,2237
|
|
33
33
|
ingestion/nextgen/__init__.py,sha256=7LQ-h_Bvc5P1QcHMdzsqi1Qm4fTJn04-ozar2ty9wSc,59
|
|
34
34
|
ingestion/nextgen/process.py,sha256=5Z0RfclwTAYZruGDiLPutjPCYFh1DJpoWY9dnttghT4,3993
|
|
@@ -59,6 +59,6 @@ ingestion/vcf_standardization/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
59
59
|
ingestion/vcf_standardization/util/af_helpers.py,sha256=dpTzoeIQVeBRt0ETF3a9rp5ojZqznHg4x_hCZ8OPcOg,1061
|
|
60
60
|
ingestion/vcf_standardization/util/dp_helpers.py,sha256=Nq8oLOLObu4_pv16qwwgpALRlUoJVCULrd9cFOD-eoI,823
|
|
61
61
|
ingestion/vcf_standardization/util/read_write.py,sha256=x3Pf6Dq8tmolblbCS5CrNmrcHS3FGfqBSFpFgvFGC4g,2526
|
|
62
|
-
phc_ingestion-0.10.
|
|
63
|
-
phc_ingestion-0.10.
|
|
64
|
-
phc_ingestion-0.10.
|
|
62
|
+
phc_ingestion-0.10.7.dist-info/WHEEL,sha256=B19PGBCYhWaz2p_UjAoRVh767nYQfk14Sn4TpIZ-nfU,87
|
|
63
|
+
phc_ingestion-0.10.7.dist-info/METADATA,sha256=fPt-rGHMt6ORmjrw1xKM8MDarx9A_b_no3B9UeurMRw,677
|
|
64
|
+
phc_ingestion-0.10.7.dist-info/RECORD,,
|
|
File without changes
|