phc-ingestion 0.10.7__py3-none-any.whl → 0.10.8__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.
@@ -103,11 +103,22 @@ class ManifestAssembler:
103
103
  identifiers = resource.get("identifier", [])
104
104
  return identifiers[0].get("value", "") if identifiers else ""
105
105
 
106
- def __extract_id_from_reference(self, reference: Reference) -> str:
107
- ref_string = reference.get("reference", "")
106
+ def __extract_id_from_reference(self, reference: Reference | None) -> str:
107
+ if not reference:
108
+ return ""
109
+
110
+ ref_string = reference.get("reference")
111
+ if not ref_string:
112
+ return ""
113
+
108
114
  parts = ref_string.split("/")
109
115
  return parts[1] if len(parts) > 1 else parts[0]
110
116
 
117
+ def __extract_id_from_reference_list(self, references: list[Reference] | None) -> str:
118
+ if not references or len(references) == 0:
119
+ return ""
120
+ return self.__extract_id_from_reference(references[0])
121
+
111
122
  def __extract_elation_mrn(self, patient: Patient) -> str:
112
123
  identifier = next(
113
124
  (
@@ -155,11 +166,16 @@ class ManifestAssembler:
155
166
  "Organization", patient.get("managingOrganization")
156
167
  )
157
168
 
158
- general_practitioner: Practitioner | None = self.__fetch_resource_by_type_and_reference(
159
- "Practitioner", patient.get("generalPractitioner")
160
- )
169
+ # Handle generalPractitioner as a list
170
+ general_practitioner: Practitioner | None = None
171
+ general_practitioner_refs: list[Reference] = patient.get("generalPractitioner", [])
172
+ if general_practitioner_refs:
173
+ general_practitioner = self.__fetch_resource_by_type_and_reference(
174
+ "Practitioner",
175
+ {"reference": self.__extract_id_from_reference_list(general_practitioner_refs)},
176
+ )
161
177
 
162
- patient_info = self.__parse_human_name(patient["name"])
178
+ patient_info = self.__parse_human_name(patient.get("name"))
163
179
  practitioner_info = self.__parse_human_name(
164
180
  general_practitioner.get("name") if general_practitioner else None
165
181
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: phc-ingestion
3
- Version: 0.10.7
3
+ Version: 0.10.8
4
4
  Summary: Functions for LifeOmic PHC genomic ingestions
5
5
  License: MIT
6
6
  Author-email: LifeOmic Development <development@lifeomic.com>
@@ -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=N_19PLdbm9GaptsYfK1whTmVas5qZEtZC6VId_EFVy0,6353
31
+ ingestion/nebula/manifest_assembler.py,sha256=9DME3AlPVvXY2SuR9QBgqfvHh3rJ-DoZRLcJPTonh2E,6974
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.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,,
62
+ phc_ingestion-0.10.8.dist-info/WHEEL,sha256=B19PGBCYhWaz2p_UjAoRVh767nYQfk14Sn4TpIZ-nfU,87
63
+ phc_ingestion-0.10.8.dist-info/METADATA,sha256=y4CsB4FWZJOJR4-qSq1sHl6FCGwu5eXpnI48DLuma40,677
64
+ phc_ingestion-0.10.8.dist-info/RECORD,,