Exemple #1
0
 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"],
     )
Exemple #2
0
    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)
        ]