backoffice/application/models/Nano_health_model.php

110 lines
4.2 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Created by PhpStorm.
* User: capp
* Date: 29/05/2018
* Time: 15:49
*/
class Nano_health_model extends CI_Model
{
public function createConfig($id_network){
$this->db->insert('nh_networks_configs', ['network_id' => $id_network]);
return $this->db->insert_id();
}
public function getConfig($id_network){
return $this->db->get_where('nh_networks_configs',['network_id'=> $id_network]);
}
public function updateConfig($configId, $data){
$this->db->where('id', $configId);
return $this->db->update('nh_networks_configs', $data);
}
public function getConfigYearsPricesGrid($configId){
return $this->db->get_where('nh_years_prices_grid',['nh_network_config_id'=> $configId]);
}
public function getConfigMonthsPricesGrid($configId){
return $this->db->get_where('nh_months_prices_grid',['nh_network_config_id'=> $configId]);
}
public function getConfigActs($configId){
return $this->db->get_where('nh_acts',['nh_network_config_id'=> $configId]);
}
// Classes de prestataires
public function getProviderClasses($configId)
{
return $this->db->get_where('nh_provider_classes',['nh_network_config_id'=> $configId]);
}
public function getInfosInsuranceSubscriptionById($insuranceSubscriptionId){
return $this->db->get_where('nh_infos_insurances_subscriptions',['insurance_subscription_id'=> $insuranceSubscriptionId])->first_row();
}
public function getNhValidatingAgentSubscriptionHistory($agentId , $state){
return $this->db->from('nh_insurances_subscriptions_history')->where('nh_validating_agent_id', $agentId)
->where('insurance_subscription_state', $state)->count_all_results();
}
public function getNhInsurancesSubscriptionCount($state){
return $this->db->from('nh_insurances_subscriptions')
->where('state', $state)->count_all_results();
}
public function getInfosInsuredById($insuredId){
return $this->db->get_where('nh_infos_insurances',['insured_id'=> $insuredId])->first_row();
}
public function getInsurancePaymentTransactions($insuredId){
return $this->db->get_where('nh_insurances_payments',['insured_id'=> $insuredId]);
}
public function getSubscriptionBeneficiaries($subscriptionId){
return $this->db->select('b.*')
->from('nh_having_rights b')->join('nh_insurances_having_rights i', 'b.id = i.having_right_id')
->where('i.insurance_subscription_id',$subscriptionId)->order_by('i.created_at','asc')->get();
}
public function getInsuranceBeneficiaries($insuranceId){
return $this->db->select('b.*')
->from('nh_having_rights b')->join('nh_insurances_having_rights i', 'b.id = i.having_right_id')
->where('i.insurance_id',$insuranceId)->order_by('i.created_at','asc')->get();
}
public function getInfosHealthCareSheetById($healthCareSheetId){
return $this->db->get_where('nh_infos_health_care_sheets',['health_care_sheet_id'=> $healthCareSheetId])->first_row();
}
public function getHealthCareSheetPerformances($healthCareSheetId){
return $this->db->select('p.* , a.code as act_code , a.name as act_name')
->from('nh_performances p')->join('nh_health_care_sheets_performances sp', 'p.id = sp.performance_id')
->join('nh_acts a', 'a.id = p.act_id')
->where('sp.sheet_id',$healthCareSheetId)->order_by('sp.created_at','asc')->get();
}
public function getHealthCareSheetExams($healthCareSheetId){
return $this->db->select('e.* , a.code as act_code , a.name as act_name')
->from('nh_exams e')->join('nh_health_care_sheets_exams se', 'e.id = se.exam_id')
->join('nh_acts a', 'a.id = e.act_id')
->where('se.sheet_id',$healthCareSheetId)->order_by('se.created_at','asc')->get();
}
public function getHealthCareSheetPrescriptions($healthCareSheetId){
return $this->db->select('p.* , d.code as drug_or_device_code , d.name as drug_or_device_name')
->from('nh_medical_prescriptions p')->join('nh_health_care_sheets_prescriptions sp', 'p.id = sp.prescription_id')
->join('nh_drugs_and_devices d', 'd.id = p.drug_or_device_id')
->where('sp.sheet_id',$healthCareSheetId)->order_by('sp.created_at','asc')->get();
}
public function getDrugAndDevices($networkId)
{
return $this->db->get_where('nh_drugs_and_devices',['network_id'=> $networkId]);
}
}