<!---
  #10652 / #10411 / #10412 / #10793 / #10819 (RE #10418)
  On SOC (1) / ROC (3) / Discharge (9) submit:
    1) Calculate C0500 (BIMS total) from C0200–C0400C
    2) Auto-populate M1700 / M1710 from C0100=0 or C0500 score bands
       #10819: C0100 (F37) contains 0. → 4; C0500 bands 13–15→0, 10–12→1, 7–9→2, 4–6→3, 1–3→4
       #10793: SOC SN/PT/OT + C0100=0 → sum C1310 (F46–F49); 0–5 → 3, 6–10 → 4
    3) Auto-populate D0150 Yes/No parents from frequency children (#10411)
  Field maps differ for Discharge. Runs on stage + prod whenever PATTII lookup is ON.
--->
<cfif NOT IsDefined("_isStageSecure")>
  <cfset _isStageSecure = (IsDefined("Request.use_assessment_lookup_PATTII") AND Request.use_assessment_lookup_PATTII) />
</cfif>
<cfif NOT IsDefined("_wviModBy")>
  <cfset _wviModBy = 0 />
  <cfif IsDefined("session.employeeid") AND IsNumeric(session.employeeid) AND Val(session.employeeid) GT 0>
    <cfset _wviModBy = Val(session.employeeid) />
  <cfelseif IsDefined("client.emp_id") AND IsNumeric(client.emp_id)>
    <cfset _wviModBy = Val(client.emp_id) />
  </cfif>
</cfif>
<cfif NOT IsDefined("getass") OR NOT IsQuery(getass) OR getass.recordcount EQ 0>
  <cfquery name="getass" datasource="#Application.DataSrc#">
    SELECT * FROM #Request.prefix_db_agency#.pAssessments
    WHERE Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Assmt_ID#">
    AND status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
  </cfquery>
</cfif>
<cfif NOT IsDefined("assessment_reason") AND getass.recordcount GT 0>
  <cfset assessment_reason = getass.F26 />
</cfif>
<cfset _f26First = Left(Trim(ToString(assessment_reason)), 1) />
<cfset _isSocRoc = (getass.recordcount GT 0 AND (_f26First EQ "1" OR _f26First EQ "3")) />
<cfset _isDischarge = (getass.recordcount GT 0 AND _f26First EQ "9") />
<cfset _isSocRocDc = (_isSocRoc OR _isDischarge) />

<cfif _isStageSecure AND _isSocRocDc>

  <cfif _isDischarge>
    <cfset _c0100Fld = "F41" />
    <cfset _bimsItemFlds = "F42,F43,F44,F45,F46,F47,F48" />
    <cfset _c0500Fld = "F49" />
    <cfset _c1310Flds = "F50,F51,F52,F53" />
    <cfset _m1700Fld = "F38" />
    <cfset _m1710Fld = "F39" />
    <cfset d0150_parent_fields = "F54,F56,F58,F60,F62,F64,F66,F68,F70" />
    <cfset d0150_child_fields = "F55,F57,F59,F61,F63,F65,F67,F69,F71" />
  <cfelse>
    <cfset _c0100Fld = "F37" />
    <cfset _bimsItemFlds = "F38,F39,F40,F41,F42,F43,F44" />
    <cfset _c0500Fld = "F45" />
    <cfset _c1310Flds = "F46,F47,F48,F49" />
    <cfset _m1700Fld = "F34" />
    <cfset _m1710Fld = "F35" />
    <cfset d0150_parent_fields = "F50,F52,F54,F56,F58,F60,F62,F64,F66" />
    <cfset d0150_child_fields = "F51,F53,F55,F57,F59,F61,F63,F65,F67" />
  </cfif>
  <cfset _isSoc = (_f26First EQ "1") />
  <cfset _skill = "" />
  <cfif ListFindNoCase(getass.columnList, "F27") GT 0>
    <cftry>
      <cfset _skillRaw = getass.F27 />
      <cfif IsSimpleValue(_skillRaw) AND NOT IsNull(_skillRaw)>
        <cfset _skill = UCase(Trim(ToString(_skillRaw))) />
      </cfif>
      <cfcatch></cfcatch>
    </cftry>
  </cfif>
  <cfset _isSocSnPtOt = (_isSoc AND ListFind("SN,PT,OT", _skill) GT 0) />

  <cfset _lookupLabels = ListAppend(d0150_parent_fields, "#_m1700Fld#,#_m1710Fld#,#_c0500Fld#") />
  <cfset _lookupReasons = Trim(ToString(assessment_reason)) />
  <cfif _f26First EQ "3" AND ListFindNoCase(_lookupReasons, "1 - Start of care - further visits planned") EQ 0>
    <cfset _lookupReasons = ListAppend(_lookupReasons, "1 - Start of care - further visits planned") />
  </cfif>
  <cfquery name="getD0150AnswerOpts" datasource="#Application.DataSrc#">
    SELECT ques.answer_label, answ.answer, answ.srt_id
    FROM #Request.prefix_db_lookup#.#Request.assessment_questions_lookup# ques
    INNER JOIN #Request.prefix_db_lookup#.#Request.assessment_answers_lookup# answ
      ON answ.question_id = ques.ques_id
      AND answ.assessment_reason = ques.assessment_reason
    WHERE ques.Deleted = 0
      AND answ.Deleted = 0
      AND ques.answer_label IN (<cfqueryparam value="#_lookupLabels#" cfsqltype="cf_sql_varchar" list="yes">)
      AND ques.assessment_reason IN (<cfqueryparam value="#_lookupReasons#" cfsqltype="cf_sql_varchar" list="yes">)
    ORDER BY answ.srt_id ASC
  </cfquery>

  <!--- #10652: C0500 BIMS total --->
  <cfset _c0100Val = "" />
  <cfif ListFindNoCase(getass.columnList, _c0100Fld) GT 0>
    <cftry>
      <cfset _c0100Raw = getass[_c0100Fld][getass.currentRow] />
      <cfif IsSimpleValue(_c0100Raw) AND NOT IsNull(_c0100Raw)>
        <cfset _c0100Val = Trim(ToString(_c0100Raw)) />
      </cfif>
      <cfcatch></cfcatch>
    </cftry>
  </cfif>
  <cfif _c0100Val EQ "NULL"><cfset _c0100Val = "" /></cfif>
  <cfset _c0100IsNo = (Len(_c0100Val) AND (FindNoCase("0.", _c0100Val) GT 0 OR Left(_c0100Val, 1) EQ "0")) />
  <cfset _c0100IsYes = (Len(_c0100Val) AND (FindNoCase("1.", _c0100Val) GT 0 OR Left(_c0100Val, 1) EQ "1")) />
  <cfset _c0500Score = "" />
  <cfset _c0500Has99 = false />
  <cfset _c0500Sum = 0 />
  <cfset _c0500ItemCount = 0 />
  <cfset _c0500DashCount = 0 />
  <cfset _c0500BlankCount = 0 />
  <cfset _c0500AllDash = false />

  <cfif _c0100IsYes>
    <cfloop list="#_bimsItemFlds#" index="_bimsFld">
      <cfset _bimsVal = "" />
      <cfif ListFindNoCase(getass.columnList, _bimsFld) GT 0>
        <cftry>
          <cfset _bimsRaw = getass[_bimsFld][getass.currentRow] />
          <cfif IsSimpleValue(_bimsRaw) AND NOT IsNull(_bimsRaw)>
            <cfset _bimsVal = Trim(ToString(_bimsRaw)) />
          </cfif>
          <cfcatch></cfcatch>
        </cftry>
      </cfif>
      <cfif _bimsVal EQ "NULL"><cfset _bimsVal = "" /></cfif>
      <cfif NOT Len(_bimsVal)>
        <cfset _c0500BlankCount = _c0500BlankCount + 1 />
      <cfelseif Left(_bimsVal, 2) EQ "99">
        <cfset _c0500Has99 = true />
      <cfelseif _bimsVal EQ "-" OR FindNoCase("not assessed", _bimsVal)>
        <cfset _c0500DashCount = _c0500DashCount + 1 />
      <cfelse>
        <cfset _bimsCode = Left(_bimsVal, 1) />
        <cfif IsNumeric(_bimsCode) AND Val(_bimsCode) LTE 3>
          <cfset _c0500Sum = _c0500Sum + Val(_bimsCode) />
          <cfset _c0500ItemCount = _c0500ItemCount + 1 />
        </cfif>
      </cfif>
    </cfloop>
    <!--- #6240: Discharge C0500 per OASIS edit -5800: all seven items numeric -> sum;
          some (not all) items dash / not answered -> 99 (interview not completed); all seven dash -> dash ("not assessed").
          SOC/ROC keep summing the answered items. --->
    <cfif _isDischarge AND _c0500DashCount EQ ListLen(_bimsItemFlds)>
      <cfset _c0500AllDash = true />
    <cfelseif _c0500Has99>
      <cfset _c0500Score = "99" />
    <cfelseif _isDischarge AND (_c0500ItemCount + _c0500DashCount) GT 0 AND (_c0500DashCount GT 0 OR _c0500BlankCount GT 0)>
      <cfset _c0500Score = "99" />
    <cfelseif _c0500ItemCount GT 0>
      <cfset _c0500Score = ToString(_c0500Sum) />
    </cfif>
  </cfif>

  <cfif _c0500AllDash AND _c0500Fld EQ "F49">
    <cfquery name="updateC0500BIMSDash" datasource="#Application.DataSrc#">
      UPDATE #Request.prefix_db_agency#.pAssessments SET
        F49 = <cfqueryparam value="not assessed" cfsqltype="cf_sql_varchar">,
        Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
        Record_Mod_By = <cfqueryparam value="#_wviModBy#" cfsqltype="cf_sql_integer">
      WHERE Assmt_ID = <cfqueryparam value="#Assmt_ID#" cfsqltype="cf_sql_integer">
      AND status = 0
    </cfquery>
  </cfif>

  <cfif Len(_c0500Score) AND ListFindNoCase("F45,F49", _c0500Fld)>
    <cfset _c0500Write = _c0500Score />
    <cfloop query="getD0150AnswerOpts">
      <cfif CompareNoCase(Trim(answer_label), _c0500Fld) EQ 0>
        <cfset _ans = Trim(answer) />
        <cfif Left(_ans, Len(_c0500Score)) EQ _c0500Score AND (Len(_ans) EQ Len(_c0500Score) OR NOT IsNumeric(Mid(_ans, Len(_c0500Score)+1, 1)))>
          <cfset _c0500Write = _ans />
          <cfbreak />
        </cfif>
      </cfif>
    </cfloop>
    <cfquery name="updateC0500BIMS" datasource="#Application.DataSrc#">
      UPDATE #Request.prefix_db_agency#.pAssessments SET
        #_c0500Fld# = <cfqueryparam value="#_c0500Write#" cfsqltype="cf_sql_varchar">,
        Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
        Record_Mod_By = <cfqueryparam value="#_wviModBy#" cfsqltype="cf_sql_integer">
      WHERE Assmt_ID = <cfqueryparam value="#Assmt_ID#" cfsqltype="cf_sql_integer">
      AND status = 0
    </cfquery>
  </cfif>

  <!--- #10411: D0150 Yes/No parents from frequency children --->
  <cfset d0150_updates = StructNew() />
  <cfloop from="1" to="#ListLen(d0150_parent_fields)#" index="_d0150i">
    <cfset _d0150Parent = ListGetAt(d0150_parent_fields, _d0150i) />
    <cfset _d0150Child = ListGetAt(d0150_child_fields, _d0150i) />
    <cfset _d0150ChildVal = "" />
    <cfif ListFindNoCase(getass.columnList, _d0150Child) GT 0>
      <cftry>
        <cfset _d0150Raw = getass[_d0150Child][getass.currentRow] />
        <cfif IsSimpleValue(_d0150Raw) AND NOT IsNull(_d0150Raw)>
          <cfset _d0150ChildVal = Trim(ToString(_d0150Raw)) />
        </cfif>
        <cfcatch></cfcatch>
      </cftry>
    </cfif>
    <cfif _d0150ChildVal EQ "NULL"><cfset _d0150ChildVal = "" /></cfif>
    <cfif Len(_d0150ChildVal)>
      <cfset _d0150Code = Left(_d0150ChildVal, 1) />
      <cfset _wantCode = (_d0150Code EQ "0") ? "0" : "1" />
      <cfset _d0150ParentVal = "" />
      <cfloop query="getD0150AnswerOpts">
        <cfif CompareNoCase(Trim(answer_label), _d0150Parent) EQ 0 AND Left(Trim(answer), 1) EQ _wantCode>
          <cfset _d0150ParentVal = Trim(answer) />
          <cfbreak />
        </cfif>
      </cfloop>
      <cfif NOT Len(_d0150ParentVal)>
        <cfset _d0150ParentVal = (_wantCode EQ "0") ? "0-No" : "1-Yes" />
      </cfif>
      <cfset d0150_updates[_d0150Parent] = _d0150ParentVal />
    </cfif>
  </cfloop>
  <cfif StructCount(d0150_updates) GT 0>
    <cfquery name="updateD0150OASIS" datasource="#Application.DataSrc#">
      UPDATE #Request.prefix_db_agency#.pAssessments SET
      <cfset _d0150First = true />
      <cfloop collection="#d0150_updates#" item="_d0150Parent">
        <cfif NOT _d0150First>,</cfif>
        #_d0150Parent# = <cfqueryparam value="#d0150_updates[_d0150Parent]#" cfsqltype="cf_sql_varchar">
        <cfset _d0150First = false />
      </cfloop>
      , Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">
      , Record_Mod_By = <cfqueryparam value="#_wviModBy#" cfsqltype="cf_sql_integer">
      WHERE Assmt_ID = <cfqueryparam value="#Assmt_ID#" cfsqltype="cf_sql_integer">
      AND status = 0
    </cfquery>
  </cfif>

  <!--- #6238 Discharge (F72) / #10773 SOC & ROC (F68): D0160 Total Severity Score, OASIS edit -5910.
        Column 1 = 0 counts as frequency 0; Column 1 = 9 / blank or Column 2 blank is a missing item.
        A1 = 9 and B1 = 9 -> blank; A2 and B2 both 0/1 -> A2 + B2 (PHQ-2 ends);
        else PHQ-9 sum: 1 missing x 9/8, 2 missing x 9/7 (nearest integer), 3+ missing -> 99. --->
  <cfset _d0160Fld = _isDischarge ? "F72" : "F68" />
  <cfif _isDischarge OR _isSocRoc>
    <cfset _phqVals = [] />
    <cfset _phqPres = [] />
    <cfset _phqMissing = [] />
    <cfset _phqAnyAnswered = false />
    <cfloop from="1" to="#ListLen(d0150_parent_fields)#" index="_phqI">
      <cfset _phqParentFld = ListGetAt(d0150_parent_fields, _phqI) />
      <cfset _phqChildFld = ListGetAt(d0150_child_fields, _phqI) />
      <cfif StructKeyExists(d0150_updates, _phqParentFld)>
        <cfset _phqP = d0150_updates[_phqParentFld] />
      <cfelse>
        <cfset _phqP = getass[_phqParentFld][getass.currentRow] & "" />
      </cfif>
      <cfset _phqC = getass[_phqChildFld][getass.currentRow] & "" />
      <cfset _phqP = (Trim(_phqP) EQ "NULL") ? "" : Left(Trim(_phqP), 1) />
      <cfset _phqC = (Trim(_phqC) EQ "NULL") ? "" : Left(Trim(_phqC), 1) />
      <cfif Len(_phqP) OR Len(_phqC)><cfset _phqAnyAnswered = true /></cfif>
      <cfset ArrayAppend(_phqPres, _phqP) />
      <cfif _phqP EQ "0">
        <cfset ArrayAppend(_phqVals, 0) />
        <cfset ArrayAppend(_phqMissing, false) />
      <cfelseif _phqP NEQ "9" AND ListFind("0,1,2,3", _phqC)>
        <cfset ArrayAppend(_phqVals, Val(_phqC)) />
        <cfset ArrayAppend(_phqMissing, false) />
      <cfelse>
        <cfset ArrayAppend(_phqVals, 0) />
        <cfset ArrayAppend(_phqMissing, true) />
      </cfif>
    </cfloop>
    <cfif _phqAnyAnswered>
      <cfif _phqPres[1] EQ "9" AND _phqPres[2] EQ "9">
        <cfset _d0160Val = "" />
      <cfelseif NOT _phqMissing[1] AND NOT _phqMissing[2] AND _phqVals[1] LTE 1 AND _phqVals[2] LTE 1>
        <cfset _d0160Val = ToString(_phqVals[1] + _phqVals[2]) />
      <cfelse>
        <cfset _phqSum = 0 />
        <cfset _phqMissCount = 0 />
        <cfloop from="1" to="#ArrayLen(_phqVals)#" index="_phqI">
          <cfif _phqMissing[_phqI]>
            <cfset _phqMissCount = _phqMissCount + 1 />
          <cfelse>
            <cfset _phqSum = _phqSum + _phqVals[_phqI] />
          </cfif>
        </cfloop>
        <cfif _phqMissCount GTE 3>
          <cfset _d0160Val = "99" />
        <cfelseif _phqMissCount EQ 2>
          <cfset _d0160Val = ToString(Round(_phqSum * 9 / 7)) />
        <cfelseif _phqMissCount EQ 1>
          <cfset _d0160Val = ToString(Round(_phqSum * 9 / 8)) />
        <cfelse>
          <cfset _d0160Val = ToString(_phqSum) />
        </cfif>
      </cfif>
      <cfquery name="updateD0160OASIS" datasource="#Application.DataSrc#">
        UPDATE #Request.prefix_db_agency#.pAssessments SET
          #_d0160Fld# = <cfqueryparam value="#_d0160Val#" cfsqltype="cf_sql_varchar">,
          Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
          Record_Mod_By = <cfqueryparam value="#_wviModBy#" cfsqltype="cf_sql_integer">
        WHERE Assmt_ID = <cfqueryparam value="#Assmt_ID#" cfsqltype="cf_sql_integer">
        AND status = 0
      </cfquery>
    </cfif>
  </cfif>

  <!--- #10412 / #10652 / #10819: M1700 / M1710 from C0100=0 or C0500 BIMS bands (SOC/ROC F45; not D0160/F68).
        #10819 five bands: 13–15→0, 10–12→1, 7–9→2, 4–6→3, 1–3→4; C0100 (F37) contains 0. → 4.
        #10793: SOC SN/PT/OT + C0100=0 → sum C1310 (F46–F49); 0–5 → 3, 6–10 → 4 --->
  <cfset m1700_val = "" />
  <cfset m1710_val = "" />
  <cfset _m1700Code = "" />
  <cfset _m1710Code = "" />
  <cfset _c0500Num = Val(_c0500Score) />
  <cfset _c1310Sum = 0 />
  <cfset _c1310ItemCount = 0 />
  <cfset _c1310Mapped = false />
  <cfif _isSocSnPtOt AND _c0100IsNo>
    <cfloop list="#_c1310Flds#" index="_c1310Fld">
      <cfset _c1310Val = "" />
      <cfif ListFindNoCase(getass.columnList, _c1310Fld) GT 0>
        <cftry>
          <cfset _c1310Raw = getass[_c1310Fld][getass.currentRow] />
          <cfif IsSimpleValue(_c1310Raw) AND NOT IsNull(_c1310Raw)>
            <cfset _c1310Val = Trim(ToString(_c1310Raw)) />
          </cfif>
          <cfcatch></cfcatch>
        </cftry>
      </cfif>
      <cfif _c1310Val EQ "NULL"><cfset _c1310Val = "" /></cfif>
      <cfif Len(_c1310Val) AND _c1310Val NEQ "-" AND NOT FindNoCase("not assessed", _c1310Val)>
        <cfset _c1310Code = Left(_c1310Val, 1) />
        <cfif IsNumeric(_c1310Code) AND Val(_c1310Code) LTE 3>
          <cfset _c1310Sum = _c1310Sum + Val(_c1310Code) />
          <cfset _c1310ItemCount = _c1310ItemCount + 1 />
        </cfif>
      </cfif>
    </cfloop>
    <cfif _c1310Sum GTE 0 AND _c1310Sum LTE 5>
      <cfset _m1700Code = "3" />
      <cfset _m1710Code = "3" />
      <cfset _c1310Mapped = true />
    <cfelseif _c1310Sum GTE 6 AND _c1310Sum LTE 10>
      <cfset _m1700Code = "4" />
      <cfset _m1710Code = "4" />
      <cfset _c1310Mapped = true />
    <cfelseif _c1310Sum GT 10>
      <!--- Above documented band — treat as most severe --->
      <cfset _m1700Code = "4" />
      <cfset _m1710Code = "4" />
      <cfset _c1310Mapped = true />
    </cfif>
  </cfif>
  <!--- #10819: F37 / C0100 contains 0. → M1700/M1710 = 4 (when C1310 path did not map) --->
  <cfif NOT _c1310Mapped AND _c0100IsNo>
    <cfset _m1700Code = "4" />
    <cfset _m1710Code = "4" />
  <cfelseif NOT _c1310Mapped AND _c0500Score EQ "99">
    <!--- Unable to complete BIMS — do not map from score --->
  <!--- #10819: five C0500 BIMS → M1700/M1710 bands (ticket text said F68; SOC/ROC C0500 is F45) --->
  <cfelseif NOT _c1310Mapped AND Len(_c0500Score) AND _c0500Num GTE 13 AND _c0500Num LTE 15>
    <cfset _m1700Code = "0" />
    <cfset _m1710Code = "0" />
  <cfelseif NOT _c1310Mapped AND Len(_c0500Score) AND _c0500Num GTE 10 AND _c0500Num LTE 12>
    <cfset _m1700Code = "1" />
    <cfset _m1710Code = "1" />
  <cfelseif NOT _c1310Mapped AND Len(_c0500Score) AND _c0500Num GTE 7 AND _c0500Num LTE 9>
    <cfset _m1700Code = "2" />
    <cfset _m1710Code = "2" />
  <cfelseif NOT _c1310Mapped AND Len(_c0500Score) AND _c0500Num GTE 4 AND _c0500Num LTE 6>
    <cfset _m1700Code = "3" />
    <cfset _m1710Code = "3" />
  <cfelseif NOT _c1310Mapped AND Len(_c0500Score) AND _c0500Num GTE 0 AND _c0500Num LTE 3>
    <cfset _m1700Code = "4" />
    <cfset _m1710Code = "4" />
  </cfif>
  <cfif Len(_m1700Code) AND Len(_m1710Code)>
    <cfloop query="getD0150AnswerOpts">
      <cfif CompareNoCase(Trim(answer_label), _m1700Fld) EQ 0 AND Left(Trim(answer), 1) EQ _m1700Code AND NOT Len(m1700_val)>
        <cfset m1700_val = Trim(answer) />
      </cfif>
      <cfif CompareNoCase(Trim(answer_label), _m1710Fld) EQ 0 AND Left(Trim(answer), 1) EQ _m1710Code AND NOT Len(m1710_val)>
        <cfset m1710_val = Trim(answer) />
      </cfif>
    </cfloop>
    <cfif NOT Len(m1700_val)>
      <cfswitch expression="#_m1700Code#">
        <cfcase value="0"><cfset m1700_val = "0. Alert/ oriented, able to focus and shift attention, comprehends and recalls task directions independently." /></cfcase>
        <cfcase value="1"><cfset m1700_val = "1. Requires prompting (cuing, repetition, reminders) only under stressful or unfamiliar conditions." /></cfcase>
        <cfcase value="2"><cfset m1700_val = "2. Requires assistance and some direction in specific situations (for example, on all tasks involving shifting of attention) or consistently requires low stimulus environment due to distractibility" /></cfcase>
        <cfcase value="3"><cfset m1700_val = "3. Requires considerable assistance in routine situations. Is not alert and oriented or is unable to shift attention and recall directions more than half the time." /></cfcase>
        <cfdefaultcase><cfset m1700_val = "4. Totally dependent due to disturbances such as constant disorientation, coma, persistent vegetative state, or delirium." /></cfdefaultcase>
      </cfswitch>
    </cfif>
    <cfif NOT Len(m1710_val)>
      <cfswitch expression="#_m1710Code#">
        <cfcase value="0"><cfset m1710_val = "0. Never" /></cfcase>
        <cfcase value="1"><cfset m1710_val = "1. In new or complex situations only" /></cfcase>
        <cfcase value="2"><cfset m1710_val = "2. On awakening or at night only" /></cfcase>
        <cfcase value="3"><cfset m1710_val = "3. During the day and evening, but not constantly" /></cfcase>
        <cfdefaultcase><cfset m1710_val = "4. Constantly" /></cfdefaultcase>
      </cfswitch>
    </cfif>
  </cfif>
  <cfif Len(m1700_val) AND Len(m1710_val) AND ListFindNoCase("F34,F38", _m1700Fld) AND ListFindNoCase("F35,F39", _m1710Fld)>
    <cfquery name="updateM1700M1710" datasource="#Application.DataSrc#">
      UPDATE #Request.prefix_db_agency#.pAssessments SET
        #_m1700Fld# = <cfqueryparam value="#m1700_val#" cfsqltype="cf_sql_varchar">,
        #_m1710Fld# = <cfqueryparam value="#m1710_val#" cfsqltype="cf_sql_varchar">,
        Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
        Record_Mod_By = <cfqueryparam value="#_wviModBy#" cfsqltype="cf_sql_integer">
      WHERE Assmt_ID = <cfqueryparam value="#Assmt_ID#" cfsqltype="cf_sql_integer">
      AND status = 0
    </cfquery>
  </cfif>

</cfif>
