Beispiel #1
0
 def _get_pdqv_results_table(self):
     logger.debug("PQQV building query")
     
     # JOIN 1, party table with patient table
     # LEFT JOIN gnuhealth_patient on gnuhealth_patient.name=party_party.id 
     patient_party_join = Join(self.patient_table, self.party_table)
     patient_party_join.type_ = 'LEFT'
     patient_party_join.condition = patient_party_join.left.name == self.party_table.id
     
     # JOIN 2, with address table
     patient_party_addr_join = Join(patient_party_join, self.address_table)
     patient_party_addr_join.type_ = 'LEFT'
     patient_party_addr_join.condition = patient_party_addr_join.right.party == patient_party_join.right.id
     
     # JOIN 3 , with inpatient_registration table
     # LEFT JOIN gnuhealth_inpatient_registration ON gnuhealth_inpatient_registration.patient = gnuhealth_patient.id
     patient_party_reg_join = Join(patient_party_addr_join, self.inpatient_registration_table)
     patient_party_reg_join.type_ = 'LEFT'
     patient_party_reg_join.condition = self.inpatient_registration_table.patient == self.patient_table.id
     
     # JOIN 4, with hospital_bed table
     # LEFT JOIN gnuhealth_hospital_bed ON gnuhealth_hospital_bed.id = gnuhealth_inpatient_registration.bed
     patient_party_bed_join = Join(patient_party_reg_join, self.hospital_bed_table)
     patient_party_bed_join.type_ = "LEFT"
     patient_party_bed_join.condition = self.hospital_bed_table.id == self.inpatient_registration_table.bed
     
     # JOIN 5, with hospital_ward table
     # LEFT JOIN gnuhealth_hospital_ward ON gnuhealth_hospital_ward.id = gnuhealth_hospital_bed.ward
     # where gnuhealth_hospital_ward.name='Maternity'
     patient_party_ward_join = Join(patient_party_bed_join, self.hospital_ward_table)
     patient_party_ward_join.type_ = "LEFT"
     patient_party_ward_join.condition = self.hospital_ward_table.id == self.hospital_bed_table.ward
     logger.debug("PDQV JOIN TABLE CREATED")
    
     return patient_party_ward_join
Beispiel #2
0
 def _get_pdq_results_table(self):
     logger.debug("PQQ building query...")
     patient_party_join = Join(self.patient_table, self.party_table)
     patient_party_join.type_ = 'LEFT'
     patient_party_join.condition = patient_party_join.left.name == self.party_table.id
     # Second join, with address table
     patient_party_addr_join = Join(patient_party_join, self.address_table)
     patient_party_addr_join.type_ = 'LEFT'
     patient_party_addr_join.condition = patient_party_addr_join.right.party == patient_party_join.right.id
     
     logger.debug("PDQ JOIN TABLE CREATED")
     return patient_party_addr_join