Skip to content

Commit

Permalink
check for all possible NA values not just empty string
Browse files Browse the repository at this point in the history
  • Loading branch information
onursumer committed Jun 25, 2024
1 parent 6bfba14 commit abbb255
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@
<select id="getPatientClinicalDataCountsForBinning">
SELECT
attribute_name as attributeId,
if(attribute_value='', 'NA', attribute_value) AS value,
<include refid="normalizeAttributeValueNA">
<property name="attribute_value" value="attribute_value"/>
<property name="as_value" value="value"/>
</include>,
count(value) as count
FROM clinical_data_derived
<include refid="patientClinicalDataFromStudyViewFilter" />
Expand All @@ -50,7 +53,10 @@
<select id="getSampleClinicalDataCountsForBinning">
SELECT
attribute_name as attributeId,
if(attribute_value='', 'NA', attribute_value) AS value,
<include refid="normalizeAttributeValueNA">
<property name="attribute_value" value="attribute_value"/>
<property name="as_value" value="value"/>
</include>,
count(value) as count
FROM clinical_data_derived
<include refid="sampleClinicalDataFromStudyViewFilter" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,10 @@
<foreach item="dataFilterValue" collection="clinicalDataFilter.values" open=" AND ((" separator=") OR (" close="))">
<trim prefix="" prefixOverrides="AND">
<if test="dataFilterValue.value eq 'NA'">
AND attribute_value = ''
AND
<include refid="isAttributeValueNA">
<property name="attribute_value" value="attribute_value"/>
</include>
</if>
<if test="dataFilterValue.start != null || dataFilterValue.end != null">
AND match(attribute_value, '^[\d\.]+$')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,9 @@

<!-- for /clinical-data-counts/fetch (returns ClinicalData) which will then be converted to clinicalDataCountItems -->
<select id="getClinicalDataCounts" resultType="org.cbioportal.model.ClinicalDataCount">
<include refid="getCategoricalClinicalDataCountsQuerySample">
<property name="table_name_prefix" value="sample"/>
</include>
<include refid="getCategoricalClinicalDataCountsQuerySample" />
UNION ALL
<include refid="getCategoricalClinicalDataCountsQueryPatient">
<property name="table_name_prefix" value="patient"/>
</include>
<include refid="getCategoricalClinicalDataCountsQueryPatient" />
</select>


Expand Down Expand Up @@ -122,7 +118,10 @@
<sql id="getCategoricalClinicalDataCountsQuerySample">
SELECT
attribute_name as attributeId,
if(attribute_value='', 'NA', attribute_value) AS value,
<include refid="normalizeAttributeValueNA">
<property name="attribute_value" value="attribute_value"/>
<property name="as_value" value="value"/>
</include>,
count(value) as count
FROM clinical_data_derived
<where>
Expand Down Expand Up @@ -152,7 +151,10 @@
<sql id="getCategoricalClinicalDataCountsQueryPatient">
SELECT
attribute_name as attributeId,
if(attribute_value='', 'NA', attribute_value) AS value,
<include refid="normalizeAttributeValueNA">
<property name="attribute_value" value="attribute_value"/>
<property name="as_value" value="value"/>
</include>,
count(value) as count
FROM clinical_data_derived
<where>
Expand Down Expand Up @@ -281,4 +283,19 @@
AND patient_unique_id IN (<include refid="patientUniqueIdsFromStudyViewFilter"/>)
</if>
</sql>

<sql id="isAttributeValueNA">
${attribute_value}='' OR upperUTF8(${attribute_value})='NA' OR upperUTF8(${attribute_value})='NAN' OR upperUTF8(${attribute_value})='N/A'
</sql>

<sql id="normalizeAttributeValueNA">
if(
<include refid="isAttributeValueNA">
<property name="attribute_value" value="${attribute_value}"/>
</include>,
'NA',
${attribute_value}
)
AS ${as_value}
</sql>
</mapper>

0 comments on commit abbb255

Please sign in to comment.