malawi_hiv_program_reports 1.0.8 → 1.0.10
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 577d1f703cd4fa86123a4728cc6d88a373ad300a984cb44538713c8361f9149c
|
4
|
+
data.tar.gz: 411a5c315f87573ecd8450990774e6e1f3313da05a42817b79057b5320bf8f0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50c1ccfb88c9618276ef45af6150ffb1c8b60e26815b3f6cb5e2252e3d9a03a655bf22df23000d413644024de687f2630405ad3ca5c1c35d67a87dba764100f5
|
7
|
+
data.tar.gz: 7a359ad17a0b1cd0fe9fd048b18e5a96f395ff046098a70950b6d28b375ba884b83b53d201d4c0ac78762002c77c3f9dbaeafca6df9781b792c50e30107f210e
|
@@ -745,10 +745,10 @@ module MalawiHivProgramReports
|
|
745
745
|
AND prescription_encounter.program_id = patient_program.program_id
|
746
746
|
AND prescription_encounter.encounter_datetime < DATE(#{end_date}) + INTERVAL 1 DAY
|
747
747
|
AND prescription_encounter.encounter_type IN (SELECT encounter_type_id FROM encounter_type WHERE name LIKE 'Treatment')
|
748
|
-
AND prescription_encounter.voided = 0
|
748
|
+
AND prescription_encounter.voided = 0
|
749
749
|
LEFT JOIN temp_register_start_date AS patient_type_obs
|
750
750
|
ON patient_type_obs.patient_id = patient_program.patient_id #{site_manager(operator: 'AND', column: 'patient_type_obs.site_id', location: @location)}
|
751
|
-
|
751
|
+
INNER JOIN orders AS art_order
|
752
752
|
ON art_order.patient_id = patient_program.patient_id
|
753
753
|
-- AND art_order.encounter_id = prescription_encounter.encounter_id
|
754
754
|
AND art_order.concept_id IN (SELECT concept_id FROM concept_set WHERE concept_set = 1085)
|
@@ -1944,27 +1944,37 @@ module MalawiHivProgramReports
|
|
1944
1944
|
SQL
|
1945
1945
|
end
|
1946
1946
|
|
1947
|
+
def create_temp_pregnant_obs(start_date, end_date)
|
1948
|
+
ActiveRecord::Base.connection.execute 'DROP TABLE IF EXISTS temp_pregnant_obs;'
|
1949
|
+
ActiveRecord::Base.connection.execute <<~SQL
|
1950
|
+
CREATE TABLE temp_pregnant_obs
|
1951
|
+
SELECT o.person_id,o.value_coded, o.obs_datetime, o.site_id
|
1952
|
+
FROM obs o
|
1953
|
+
WHERE o.concept_id IN (6131,1755,7972,7563)
|
1954
|
+
AND o.value_coded IN (1065,1755)#{' '}
|
1955
|
+
AND o.voided = 0 #{site_manager(operator: 'AND', column: 'o.location_id', location: @location)}
|
1956
|
+
AND o.obs_datetime >= '#{start_date}' AND o.obs_datetime < '#{end_date}' + INTERVAL 1 DAY;
|
1957
|
+
SQL
|
1958
|
+
ActiveRecord::Base.connection.execute 'CREATE INDEX fre_person ON temp_pregnant_obs(person_id);'
|
1959
|
+
ActiveRecord::Base.connection.execute 'CREATE INDEX fre_obs_time ON temp_pregnant_obs(obs_datetime);'
|
1960
|
+
end
|
1961
|
+
|
1947
1962
|
def pregnant_females_all_ages(start_date, end_date)
|
1948
|
-
|
1949
|
-
|
1950
|
-
|
1951
|
-
|
1952
|
-
|
1963
|
+
create_temp_pregnant_obs(start_date, end_date)
|
1964
|
+
concept('Yes').concept_id
|
1965
|
+
concept('IS PATIENT PREGNANT?').concept_id
|
1966
|
+
concept('PATIENT PREGNANT').concept_id
|
1967
|
+
concept('PREGNANT AT INITIATION?').concept_id
|
1968
|
+
concept('Reason for ART eligibility').concept_id
|
1953
1969
|
|
1954
1970
|
# (patient_id_plus_date_enrolled || []).each do |patient_id, date_enrolled|
|
1955
1971
|
registered = ActiveRecord::Base.connection.select_all <<~SQL
|
1956
|
-
SELECT
|
1957
|
-
FROM temp_earliest_start_date
|
1958
|
-
INNER JOIN
|
1959
|
-
|
1960
|
-
|
1961
|
-
|
1962
|
-
AND obs.obs_datetime < #{interval_manager(date: 'patients.earliest_start_date', value: 1, interval: 'DAY', operator: '+')}
|
1963
|
-
AND #{in_manager(column: 'obs.value_coded', values: [yes_concept_id, patient_preg_concept_id])}
|
1964
|
-
AND obs.voided = 0 #{site_manager(operator: 'AND', column: 'obs.site_id', location: @location)}
|
1965
|
-
WHERE patients.gender IN ('F','Female')
|
1966
|
-
AND patients.date_enrolled BETWEEN '#{start_date}' AND '#{end_date}' #{site_manager(operator: 'AND', column: 'patients.site_id', location: @location)}
|
1967
|
-
GROUP BY patient_id #{@adapter == 'mysql2' ? '' : ',obs.value_coded'}
|
1972
|
+
SELECT tesd.*, ft.value_coded
|
1973
|
+
FROM temp_earliest_start_date tesd#{' '}
|
1974
|
+
INNER JOIN temp_pregnant_obs ft ON ft.person_id = tesd.patient_id AND DATE(ft.obs_datetime) = DATE(tesd.earliest_start_date)
|
1975
|
+
AND tesd.gender = 'F'
|
1976
|
+
WHERE tesd.gender = 'F' and tesd.date_enrolled >= DATE('#{start_date}') AND tesd.date_enrolled <= DATE('#{end_date}') #{site_manager(operator: 'AND', column: 'tesd.site_id', location: @location)}
|
1977
|
+
GROUP BY tesd.patient_id
|
1968
1978
|
SQL
|
1969
1979
|
|
1970
1980
|
pregnant_at_initiation = ActiveRecord::Base.connection.select_all <<~SQL
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: malawi_hiv_program_reports
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roy Chanunkha
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03-
|
11
|
+
date: 2024-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|