def deserialize(self, session): patient_src_id = self.raw_data["subject"]["reference"].split("/")[0] patient_id = Patient.get_id_for_source_id(session, patient_src_id) return Encounter( source_id=self.raw_data["id"], patient_id=patient_id, start_date=self.raw_data["period"]["start"], end_date=self.raw_data["period"]["end"], type_code=self.raw_data["type"][0]["coding"][0]["code"], type_code_system=self.raw_data["type"][0]["coding"][0]["system"], )
def deserialize(self, session): patient_src_id = self.raw_data["subject"]["reference"].split("/")[0] patient_id = Patient.get_id_for_source_id(session, patient_src_id) encounter_src_id = self.raw_data["context"]["reference"].split("/")[0] encounter_id = Encounter.get_id_for_source_id(session, encounter_src_id) if "performedDateTime" in self.raw_data: procedure_date = self.raw_data["performedDateTime"].split("T")[0] else: procedure_date = self.raw_data["performedPeriod"]["start"].split( "T")[0] return Procedure( source_id=self.raw_data["id"], patient_id=patient_id, encounter_id=encounter_id, procedure_date=procedure_date, type_code=self.raw_data["code"]["coding"][0]["code"], type_code_system=self.raw_data["code"]["coding"][0]["system"], )
def deserialize(self, session): patient_src_id = self.raw_data["subject"]["reference"].split("/")[0] patient_id = Patient.get_id_for_source_id(session, patient_src_id) encounter_src_id = self.raw_data["context"]["reference"].split("/")[0] encounter_id = Encounter.get_id_for_source_id(session, encounter_src_id) if "component" in self.raw_data: components = [{ "code": component["code"], "valueQuantity": component["valueQuantity"] } for component in self.raw_data["component"]] else: components = [{ "code": self.raw_data["code"], "valueQuantity": self.raw_data.get("valueQuantity", None), }] return [ Observation( source_id=self.raw_data["id"] + "-" + str(i), patient_id=patient_id, encounter_id=encounter_id, observation_date=self.raw_data["effectiveDateTime"].split("T") [0], type_code=component["code"]["coding"][0]["code"], type_code_system=component["code"]["coding"][0]["system"], value=component["valueQuantity"]["value"] if component["valueQuantity"] else None, unit_code=component["valueQuantity"]["unit"] if component["valueQuantity"] else None, unit_code_system=component["valueQuantity"]["system"] if component["valueQuantity"] else None, ) for i, component in enumerate(components) ]