From 46cd864c1d45d363d82b356e094c18ca4aeb26ca Mon Sep 17 00:00:00 2001
From: Juan David Lopez Regalado <m19120298@morelia.tecnm.mx>
Date: Fri, 31 Jan 2025 16:04:25 -0600
Subject: [PATCH] App complete, no Readme updated

---
 README.md                                     |   6 +-
 .../UserInterfaceState.xcuserstate            | Bin 38680 -> 45868 bytes
 .../SAGE_RK_ML/Base.lproj/Main.storyboard     |   6 +
 SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift       | 136 ++++++
 .../SAGE_RK_ML/IPAQViewController.swift       |  23 +-
 SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift       | 418 ++++++++++++++++++
 .../SAGE_RK_ML/MMSEViewController.swift       |  22 +-
 7 files changed, 592 insertions(+), 19 deletions(-)

diff --git a/README.md b/README.md
index 2380a22..102687f 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ The files are in charge of managing all the forms that are generated with Resear
 
 In  case of Consent it's similar, but it's divide de Manager in two files, the sections and the content.
 
-### Develop Consent
+### Develop Consent, IPAQ and MMSE
 
 For develop a consent it's necessary knows the content that you need for your participants, but most of them require the same sections.
 
@@ -260,4 +260,6 @@ If you push the button,  the consent will be open.
 
 ![](images/consentopen.gif)
 
-Its time for IPAQ and MMSE, This questionnaires 
+Its time for IPAQ and MMSE, These questionnaires, as mentioned in the article, will be digitized so that they can be answered on Apple mobile devices. The first thing to do is to know the different questions that the questionnaire contains in order to digitize it in the many functions that ResearchKit has incorporated. In this case, ORKValuePickerAnswerFormat, ORKTextAnswerFormat, ORKTextChoiceAnswerFormat, and ORKScaleAnswerFormat are used.
+
+
diff --git a/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/project.xcworkspace/xcuserdata/JD2207.xcuserdatad/UserInterfaceState.xcuserstate b/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/project.xcworkspace/xcuserdata/JD2207.xcuserdatad/UserInterfaceState.xcuserstate
index 33ac8e64d18091df34ef78d3cb7340314c32d210..15015e41f566aedbf9b58dc51158cc6071bb6977 100644
GIT binary patch
literal 45868
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
X`}luNRC4nF*munTTf6_G?!<oqDbKU9

literal 38680
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
Fwg8Wj&Jh3r

diff --git a/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard b/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard
index 6ee46e5..3642eb0 100644
--- a/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard
+++ b/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard
@@ -114,6 +114,9 @@
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Button"/>
                                 <buttonConfiguration key="configuration" style="plain" title="START IPAQ"/>
+                                <connections>
+                                    <action selector="ipaqButton:" destination="S22-SL-o9Y" eventType="touchUpInside" id="uOk-1g-wmS"/>
+                                </connections>
                             </button>
                         </subviews>
                         <viewLayoutGuide key="safeArea" id="bYh-bj-sLE"/>
@@ -149,6 +152,9 @@
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Button"/>
                                 <buttonConfiguration key="configuration" style="plain" title="START MMSE"/>
+                                <connections>
+                                    <action selector="mmseButton:" destination="ahB-6Y-Icj" eventType="touchUpInside" id="GIw-ZK-vSF"/>
+                                </connections>
                             </button>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eho-20-v6v">
                                 <rect key="frame" x="161" y="656" width="70" height="35"/>
diff --git a/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift b/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift
index 80a990d..ea62b98 100644
--- a/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift
+++ b/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift
@@ -6,3 +6,139 @@
 //
 
 import Foundation
+import ResearchKit
+
+class IPAQManager {
+    static let shared = IPAQManager()
+    
+    func createIPAQ() -> ORKTask {
+        // Define the introduction step
+        let ipaqInfo = ORKInstructionStep(identifier: "IPAQInfo")
+        ipaqInfo.title = "IPAQ Test"
+        ipaqInfo.iconImage = UIImage(systemName: "figure.run")
+        ipaqInfo.detailText = "International Physical Activity Questionnaire\n\nWe will ask you 7 questions related to your physical activity. Please answer as honestly as possible."
+        
+        // Section 1: Vigorous Activities
+        let sec1 = ORKInstructionStep(identifier: "Sec1")
+        sec1.title = "Section 1"
+        sec1.detailText = "Think about all the VIGOROUS activities you did in the last 7 days. Vigorous physical activities are those that require intense physical effort and make you breathe much harder than usual. Consider only those activities that lasted at least 10 consecutive minutes."
+        
+        let vigorousDaysChoices = [
+            ORKTextChoice(text: "None", value: "None" as NSString),
+            ORKTextChoice(text: "1 day", value: "1 day" as NSString),
+            ORKTextChoice(text: "2 days", value: "2 days" as NSString),
+            ORKTextChoice(text: "3 days", value: "3 days" as NSString),
+            ORKTextChoice(text: "4 days", value: "4 days" as NSString),
+            ORKTextChoice(text: "5 days", value: "5 days" as NSString),
+            ORKTextChoice(text: "6 days", value: "6 days" as NSString),
+            ORKTextChoice(text: "7 days", value: "7 days" as NSString)
+        ]
+        
+        let vigorousDaysStep = ORKQuestionStep(
+            identifier: "VigorousDays",
+            title: "Question 1",
+            question: "In the last 7 days, how many days did you perform vigorous physical activities such as heavy lifting, digging, aerobics, or fast cycling?",
+            answer: ORKValuePickerAnswerFormat(textChoices: vigorousDaysChoices)
+        )
+        vigorousDaysStep.isOptional = false
+        
+        let vigorousMinutesStep = ORKQuestionStep(
+            identifier: "VigorousMinutes",
+            title: "Question 2",
+            question: "On those days, how much time (in minutes) did you usually spend performing vigorous physical activities?",
+            answer: ORKNumericAnswerFormat(style: .integer, unit: "minutes", minimum: 0, maximum: 1440)
+        )
+        vigorousMinutesStep.isOptional = false
+        
+        // Section 2: Moderate Activities
+        let sec2 = ORKInstructionStep(identifier: "Sec2")
+        sec2.title = "Section 2"
+        sec2.detailText = "Think about all the MODERATE activities you did in the last 7 days. Moderate activities require moderate physical effort and make you breathe somewhat harder than usual. Consider only those activities that lasted at least 10 consecutive minutes."
+        
+        let moderateDaysChoices = [
+            ORKTextChoice(text: "None", value: "None" as NSString),
+            ORKTextChoice(text: "1 day", value: "1 day" as NSString),
+            ORKTextChoice(text: "2 days", value: "2 days" as NSString),
+            ORKTextChoice(text: "3 days", value: "3 days" as NSString),
+            ORKTextChoice(text: "4 days", value: "4 days" as NSString),
+            ORKTextChoice(text: "5 days", value: "5 days" as NSString),
+            ORKTextChoice(text: "6 days", value: "6 days" as NSString),
+            ORKTextChoice(text: "7 days", value: "7 days" as NSString)
+        ]
+        
+        let moderateDaysStep = ORKQuestionStep(
+            identifier: "ModerateDays",
+            title: "Question 3",
+            question: "In the last 7 days, how many days did you perform moderate physical activities such as carrying light loads, cycling at a regular pace, or playing doubles tennis? Do not include walking.",
+            answer: ORKValuePickerAnswerFormat(textChoices: moderateDaysChoices)
+        )
+        moderateDaysStep.isOptional = false
+        
+        let moderateMinutesStep = ORKQuestionStep(
+            identifier: "ModerateMinutes",
+            title: "Question 4",
+            question: "On those days, how much time (in minutes) did you usually spend performing moderate physical activities?",
+            answer: ORKNumericAnswerFormat(style: .integer, unit: "minutes", minimum: 0, maximum: 1440)
+        )
+        moderateMinutesStep.isOptional = false
+        
+        // Section 3: Walking
+        let sec3 = ORKInstructionStep(identifier: "Sec3")
+        sec3.title = "Section 3"
+        sec3.detailText = "Think about the time you spent WALKING in the last 7 days. This includes walking at work or home, walking to travel from place to place, or any other walking you might do solely for recreation, sport, exercise, or leisure."
+        
+        let walkingDaysChoices = [
+            ORKTextChoice(text: "None", value: "None" as NSString),
+            ORKTextChoice(text: "1 day", value: "1 day" as NSString),
+            ORKTextChoice(text: "2 days", value: "2 days" as NSString),
+            ORKTextChoice(text: "3 days", value: "3 days" as NSString),
+            ORKTextChoice(text: "4 days", value: "4 days" as NSString),
+            ORKTextChoice(text: "5 days", value: "5 days" as NSString),
+            ORKTextChoice(text: "6 days", value: "6 days" as NSString),
+            ORKTextChoice(text: "7 days", value: "7 days" as NSString)
+        ]
+        
+        let walkingDaysStep = ORKQuestionStep(
+            identifier: "WalkingDays",
+            title: "Question 5",
+            question: "In the last 7 days, how many days did you walk for at least 10 consecutive minutes?",
+            answer: ORKValuePickerAnswerFormat(textChoices: walkingDaysChoices)
+        )
+        walkingDaysStep.isOptional = false
+        
+        let walkingMinutesStep = ORKQuestionStep(
+            identifier: "WalkingMinutes",
+            title: "Question 6",
+            question: "On those days, how much time (in minutes) did you usually spend walking?",
+            answer: ORKNumericAnswerFormat(style: .integer, unit: "minutes", minimum: 0, maximum: 1440)
+        )
+        walkingMinutesStep.isOptional = false
+        
+        // Section 4: Sitting
+        let sec4 = ORKInstructionStep(identifier: "Sec4")
+        sec4.title = "Section 4"
+        sec4.detailText = "The last question is about the time you spent SITTING during the weekdays of the last 7 days. This includes time spent at work, at home, while studying, and during leisure time. It includes time spent sitting at a desk, visiting friends, reading, traveling by car, bus, train, or watching television."
+        
+        let sittingStep = ORKQuestionStep(
+            identifier: "SittingTime",
+            title: "Question 7",
+            question: "On a typical weekday, how much time (in minutes) did you spend sitting?",
+            answer: ORKNumericAnswerFormat(style: .integer, unit: "minutes", minimum: 0, maximum: 1440)
+        )
+        sittingStep.isOptional = false
+        
+        // Completion Step
+        let completionStep = ORKCompletionStep(identifier: "IPAQCompletion")
+        completionStep.title = "Thank you!"
+        completionStep.iconImage = UIImage(systemName: "checkmark.seal")
+        completionStep.text = "You have completed the IPAQ Test. Thank you for your participation!"
+        
+        // Retorna la tarea combinando los pasos
+        return ORKOrderedTask(identifier: "SurveyTask", steps: [ipaqInfo,
+                                                                sec1, vigorousDaysStep, vigorousMinutesStep,
+                                                                sec2, moderateDaysStep, moderateMinutesStep,
+                                                                sec3, walkingDaysStep, walkingMinutesStep,
+                                                                sec4, sittingStep,
+                                                                completionStep])
+    }
+}
diff --git a/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift b/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift
index 1e0d7ae..ca349b7 100644
--- a/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift
+++ b/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift
@@ -6,8 +6,12 @@
 //
 
 import UIKit
+import ResearchKitUI
+import ResearchKit
 
-class IPAQViewController: UIViewController {
+class IPAQViewController: UIViewController, ORKTaskViewControllerDelegate {
+
+    
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -16,14 +20,17 @@ class IPAQViewController: UIViewController {
     }
     
 
-    /*
-    // MARK: - Navigation
 
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
-        // Get the new view controller using segue.destination.
-        // Pass the selected object to the new view controller.
+    @IBAction func ipaqButton(_ sender: UIButton) {
+        let task = IPAQManager.shared.createIPAQ()
+        let taskViewController = ORKTaskViewController(task: task, taskRun: nil)
+        taskViewController.modalPresentationStyle = .fullScreen
+        taskViewController.delegate = self
+        present(taskViewController, animated: true, completion: nil)
     }
-    */
+    
+    func taskViewController(_ taskViewController: ORKTaskViewController, didFinishWith reason: ORKTaskFinishReason, error: (any Error)?) {
+        taskViewController.dismiss(animated: true, completion: nil)
 
+    }
 }
diff --git a/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift b/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift
index e395997..a25bb24 100644
--- a/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift
+++ b/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift
@@ -6,3 +6,421 @@
 //
 
 import Foundation
+import ResearchKit
+import ResearchKitUI
+
+
+class MMSEManager {
+    static let shared = MMSEManager()
+    
+    func createMMSE() -> ORKTask {
+        // Define questionnaire steps
+        let mmseInfo = ORKInstructionStep(identifier: "MMSEInfo")
+        mmseInfo.title = "MMSE Test"
+        mmseInfo.iconImage = UIImage(systemName: "brain.head.profile")
+        mmseInfo.detailText = "Mini-Mental State Examination\n\nWe will ask you some questions related to your cognition. Please answer as honestly as possible."
+        
+        // Section 1
+        let sec1 = ORKInstructionStep(identifier: "Sec1")
+        sec1.title = "Orientation in Time and Space"
+        sec1.detailText = "Without checking anything on your phone or any other device, please answer the following questions."
+        
+        // Question 1
+        let MMSE1choices = [
+            ORKTextChoice(text: "Monday", value: "Monday" as NSString),
+            ORKTextChoice(text: "Tuesday", value: "Tuesday" as NSString),
+            ORKTextChoice(text: "Wednesday", value: "Wednesday" as NSString),
+            ORKTextChoice(text: "Thursday", value: "Thursday" as NSString),
+            ORKTextChoice(text: "Friday", value: "Friday" as NSString),
+            ORKTextChoice(text: "Saturday", value: "Saturday" as NSString),
+            ORKTextChoice(text: "Sunday", value: "Sunday" as NSString),
+            ORKTextChoice(text: "I don’t know", value: "I don’t know" as NSString)
+        ]
+        
+        let MMSE1QuestionStep = ORKQuestionStep(
+            identifier: "01DayOfWeek",
+            title: "Question 1",
+            question: "What day of the week is today?",
+            answer: ORKValuePickerAnswerFormat(textChoices: MMSE1choices)
+        )
+        MMSE1QuestionStep.isOptional = false
+        
+        // Question 2
+        let MMSE2choices = (2000...2030).map { year in
+            ORKTextChoice(text: "\(year)", value: "\(year)" as NSString)
+        }
+        
+        let MMSE2QuestionStep = ORKQuestionStep(
+            identifier: "02Year",
+            title: "Question 2",
+            question: "What year is it?",
+            answer: ORKValuePickerAnswerFormat(textChoices: MMSE2choices)
+        )
+        MMSE2QuestionStep.isOptional = false
+        
+        // Question 3
+        let MMSE3choices = [
+            ORKTextChoice(text: "January", value: "January" as NSString),
+            ORKTextChoice(text: "February", value: "February" as NSString),
+            ORKTextChoice(text: "March", value: "March" as NSString),
+            ORKTextChoice(text: "April", value: "April" as NSString),
+            ORKTextChoice(text: "May", value: "May" as NSString),
+            ORKTextChoice(text: "June", value: "June" as NSString),
+            ORKTextChoice(text: "July", value: "July" as NSString),
+            ORKTextChoice(text: "August", value: "August" as NSString),
+            ORKTextChoice(text: "September", value: "September" as NSString),
+            ORKTextChoice(text: "October", value: "October" as NSString),
+            ORKTextChoice(text: "November", value: "November" as NSString),
+            ORKTextChoice(text: "December", value: "December" as NSString)
+        ]
+        
+        let MMSE3QuestionStep = ORKQuestionStep(
+            identifier: "03Month",
+            title: "Question 3",
+            question: "What month is it?",
+            answer: ORKValuePickerAnswerFormat(textChoices: MMSE3choices)
+        )
+        MMSE3QuestionStep.isOptional = false
+        
+        // Question 4
+        let MMSE4choices = (1...31).map { day in
+            ORKTextChoice(text: "\(day)", value: "\(day)" as NSString)
+        }
+        
+        let MMSE4QuestionStep = ORKQuestionStep(
+            identifier: "04DayOfMonth",
+            title: "Question 4",
+            question: "What is today’s date?",
+            answer: ORKValuePickerAnswerFormat(textChoices: MMSE4choices)
+        )
+        MMSE4QuestionStep.isOptional = false
+        
+        // Question 5
+        let MMSE5AnswerFormat = ORKTextAnswerFormat(maximumLength: 50)
+        MMSE5AnswerFormat.multipleLines = false
+        
+        let MMSE5QuestionStep = ORKQuestionStep(
+            identifier: "05Time",
+            title: "Question 5",
+            question: "What time is it approximately? (e.g., 3:00 PM, 14:00, 4:30 PM, 19:45)",
+            answer: MMSE5AnswerFormat
+        )
+        MMSE5QuestionStep.isOptional = false
+        
+        // Question 6
+        let MMSE6choices = [
+            ORKTextChoice(text: "Spring", value: "Spring" as NSString),
+            ORKTextChoice(text: "Summer", value: "Summer" as NSString),
+            ORKTextChoice(text: "Autumn", value: "Autumn" as NSString),
+            ORKTextChoice(text: "Winter", value: "Winter" as NSString)
+        ]
+        
+        let MMSE6QuestionStep = ORKQuestionStep(
+            identifier: "06Season",
+            title: "Question 6",
+            question: "What season are we in?",
+            answer: ORKValuePickerAnswerFormat(textChoices: MMSE6choices)
+        )
+        MMSE6QuestionStep.isOptional = false
+        
+        // Question 7
+        let MMSE7AnswerFormat = ORKTextAnswerFormat(maximumLength: 50)
+        MMSE7AnswerFormat.multipleLines = true
+        let MMSE7QuestionStep = ORKQuestionStep(
+            identifier: "07Location",
+            title: "Question 7",
+            question: "Where are you right now? (e.g., Home, Work, Park, School)",
+            answer: MMSE7AnswerFormat
+        )
+        MMSE7QuestionStep.isOptional = false
+        
+        // Question 8
+        let MMSE8AnswerFormat = ORKTextAnswerFormat(maximumLength: 50)
+        MMSE8AnswerFormat.multipleLines = true
+        let MMSE8QuestionStep = ORKQuestionStep(
+            identifier: "08City",
+            title: "Question 8",
+            question: "What city are you in?",
+            answer: MMSE8AnswerFormat
+        )
+        MMSE8QuestionStep.isOptional = false
+        
+        // Question 9
+        let MMSE9AnswerFormat = ORKTextAnswerFormat(maximumLength: 50)
+        MMSE9AnswerFormat.multipleLines = true
+        let MMSE9QuestionStep = ORKQuestionStep(
+            identifier: "09State",
+            title: "Question 9",
+            question: "What state are you in?",
+            answer: MMSE9AnswerFormat
+        )
+        MMSE9QuestionStep.isOptional = false
+        
+        
+        // Question 10
+        let MMSE10QuestionStepTitle = "Question 10"
+        let MMSE10AnswerFormat = ORKTextAnswerFormat(maximumLength: 50)
+        MMSE10AnswerFormat.multipleLines = true
+        let MMSE10QuestionStep = ORKQuestionStep(identifier: "10Country", title: MMSE10QuestionStepTitle, question: "Which country are you in?", answer: MMSE10AnswerFormat)
+        MMSE10QuestionStep.isOptional = false
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Section 2
+        let sec2 = ORKInstructionStep(identifier: "Sec2")
+        sec2.title = "Fixation"
+        sec2.detailText = "Without reviewing anything on your phone or any other device, answer the following questions"
+        
+        // Question 11
+        let words1 = ORKInstructionStep(identifier: "words1")
+        words1.title = "Reading"
+        words1.detailText = "Read the following 3 words and click the (Next) button \n\nHORSE\n\nWEIGHT\n\nAPPLE"
+        
+        // Word 1
+        let MMSE11QuestionStepTitle1 = "Question 11"
+        let MMSE11QuestionStepAnswer1 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE11QuestionStepAnswer1.multipleLines = false
+        let MMSE11QuestionStep1 = ORKQuestionStep(identifier: "11word1", title: MMSE11QuestionStepTitle1, question: "What was the first word?", answer: MMSE11QuestionStepAnswer1)
+        MMSE11QuestionStep1.isOptional = false
+        
+        // Word 2
+        let MMSE11QuestionStepTitle2 = "Question 11"
+        let MMSE11QuestionStepAnswer2 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE11QuestionStepAnswer2.multipleLines = false
+        let MMSE11QuestionStep2 = ORKQuestionStep(identifier: "11word2", title: MMSE11QuestionStepTitle2, question: "What was the second word?", answer: MMSE11QuestionStepAnswer2)
+        MMSE11QuestionStep2.isOptional = false
+        
+        // Word 3
+        let MMSE11QuestionStepTitle3 = "Question 11"
+        let MMSE11QuestionStepAnswer3 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE11QuestionStepAnswer3.multipleLines = false
+        let MMSE11QuestionStep3 = ORKQuestionStep(identifier: "11word3", title: MMSE11QuestionStepTitle3, question: "What was the third word?", answer: MMSE11QuestionStepAnswer3)
+        MMSE11QuestionStep3.isOptional = false
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Section 3
+        let sec3 = ORKInstructionStep(identifier: "Sec3")
+        sec3.title = "Concentration and Calculation"
+        sec3.detailText = "Without using a calculator, answer the following questions"
+        
+        // Question 12
+        let subtract1 = ORKInstructionStep(identifier: "subtract1")
+        subtract1.title = "Question 12"
+        subtract1.detailText = "You have 100 pesos, and you will subtract 7 repeatedly"
+        
+        // Subtraction 1
+        let MMSE12QuestionStepTitle1 = "Question 12"
+        let MMSE12QuestionStepAnswer1 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE12QuestionStepAnswer1.multipleLines = false
+        let MMSE12QuestionStep1 = ORKQuestionStep(identifier: "12subtract1", title: MMSE12QuestionStepTitle1, question: "100-7?", answer: MMSE12QuestionStepAnswer1)
+        MMSE12QuestionStep1.isOptional = false
+        
+        // Subtraction 2
+        let MMSE12QuestionStepTitle2 = "Question 12"
+        let MMSE12QuestionStepAnswer2 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE12QuestionStepAnswer2.multipleLines = false
+        let MMSE12QuestionStep2 = ORKQuestionStep(identifier: "12subtract2", title: MMSE12QuestionStepTitle2, question: "Your previous result - 7?", answer: MMSE12QuestionStepAnswer2)
+        MMSE12QuestionStep2.isOptional = false
+        
+        // Subtraction 3
+        let MMSE12QuestionStepTitle3 = "Question 12"
+        let MMSE12QuestionStepAnswer3 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE12QuestionStepAnswer3.multipleLines = false
+        let MMSE12QuestionStep3 = ORKQuestionStep(identifier: "12subtract3", title: MMSE12QuestionStepTitle3, question: "Your previous result - 7?", answer: MMSE12QuestionStepAnswer3)
+        MMSE12QuestionStep3.isOptional = false
+        
+        // Subtraction 4
+        let MMSE12QuestionStepTitle4 = "Question 12"
+        let MMSE12QuestionStepAnswer4 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE12QuestionStepAnswer4.multipleLines = false
+        let MMSE12QuestionStep4 = ORKQuestionStep(identifier: "12subtract4", title: MMSE12QuestionStepTitle4, question: "Your previous result - 7?", answer: MMSE12QuestionStepAnswer4)
+        MMSE12QuestionStep4.isOptional = false
+        
+        // Subtraction 5
+        let MMSE12QuestionStepTitle5 = "Question 12"
+        let MMSE12QuestionStepAnswer5 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE12QuestionStepAnswer5.multipleLines = false
+        let MMSE12QuestionStep5 = ORKQuestionStep(identifier: "12subtract5", title: MMSE12QuestionStepTitle5, question: "Your previous result - 7?", answer: MMSE12QuestionStepAnswer5)
+        MMSE12QuestionStep5.isOptional = false
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Section 4
+        let sec4 = ORKInstructionStep(identifier: "Sec4")
+        sec4.title = "Memory"
+        sec4.detailText = "Remember the 3 words we mentioned earlier, write them below"
+        
+        // Question 13
+        
+        // Word 1
+        let MMSE13QuestionStepTitle1 = "Question 13"
+        let MMSE13QuestionStepAnswer1 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE13QuestionStepAnswer1.multipleLines = false
+        let MMSE13QuestionStep1 = ORKQuestionStep(identifier: "13word1", title: MMSE13QuestionStepTitle1, question: "What was the first word?", answer: MMSE13QuestionStepAnswer1)
+        MMSE13QuestionStep1.isOptional = false
+        
+        // Word 2
+        let MMSE13QuestionStepTitle2 = "Question 13"
+        let MMSE13QuestionStepAnswer2 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE13QuestionStepAnswer2.multipleLines = false
+        let MMSE13QuestionStep2 = ORKQuestionStep(identifier: "13word2", title: MMSE13QuestionStepTitle2, question: "What was the second word?", answer: MMSE13QuestionStepAnswer2)
+        MMSE13QuestionStep2.isOptional = false
+        
+        // Word 3
+        let MMSE13QuestionStepTitle3 = "Question 13"
+        let MMSE13QuestionStepAnswer3 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE13QuestionStepAnswer3.multipleLines = false
+        let MMSE13QuestionStep3 = ORKQuestionStep(identifier: "13word3", title: MMSE13QuestionStepTitle3, question: "What was the third word?", answer: MMSE13QuestionStepAnswer3)
+        MMSE13QuestionStep3.isOptional = false
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Section 5
+        let sec5 = ORKInstructionStep(identifier: "Sec5")
+        sec5.title = "Language and Construction"
+        sec5.detailText = "Images will be shown, try to tell me what they are"
+        
+        // Question 14
+        
+        // Image 1
+        let MMSE14QuestionStepTitle1 = "Question 14"
+        
+        // Text answer format
+        let MMSE14QuestionStepAnswer1 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE14QuestionStepAnswer1.multipleLines = false
+        
+        // Create the question step with image for MMSE14
+        let MMSE14QuestionStep1 = ORKQuestionStep(
+            identifier: "14imageQuestion1",
+            title: MMSE14QuestionStepTitle1,
+            question: "What do you see in this image?",
+            answer: MMSE14QuestionStepAnswer1
+        )
+        MMSE14QuestionStep1.isOptional = false
+        
+        // Add image to the step
+        MMSE14QuestionStep1.image = UIImage(named: "lapiz")
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Image 2
+        let MMSE14QuestionStepTitle2 = "Question 14"
+        
+        // Text answer format
+        let MMSE14QuestionStepAnswer2 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE14QuestionStepAnswer2.multipleLines = false
+        
+        // Create the question step with image for MMSE14
+        let MMSE14QuestionStep2 = ORKQuestionStep(
+            identifier: "14imageQuestion2",
+            title: MMSE14QuestionStepTitle2,
+            question: "What do you see in this image?",
+            answer: MMSE14QuestionStepAnswer2
+        )
+        MMSE14QuestionStep2.isOptional = false
+        
+        // Add image to the step
+        MMSE14QuestionStep2.image = UIImage(named: "reloj")
+        
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+        
+        // Question 15
+        let MMSE15QuestionStepTitle1 = "Question 15"
+        let MMSE15QuestionStepAnswer1 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE15QuestionStepAnswer1.multipleLines = false
+        let MMSE15QuestionStep1 = ORKQuestionStep(identifier: "15copy", title: MMSE15QuestionStepTitle1, question: "Draw a clock showing the time 10:10", answer: MMSE15QuestionStepAnswer1)
+        MMSE15QuestionStep1.isOptional = false
+        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+        
+        // Question 16
+        let ind16 = ORKInstructionStep(identifier: "ind16")
+        ind16.title = "Question 16"
+        ind16.detailText = "I will give you some instructions. Please follow them in the order I tell you: \n\n 1. Select the number 8 \n\n 2. Select all the words that start with P \n\n 3. Write the word 'hair'"
+        
+        // Instruction 1
+        let MMSE16QuestionStepTitle1 = "Question 16"
+        let MMSE16QuestionStepAnswer1 = ORKScaleAnswerFormat(maximumValue: 12, minimumValue: 0, defaultValue: 4, step: 1)
+        let MMSE16QuestionStep1 = ORKQuestionStep(identifier: "16Instruction1", title: MMSE16QuestionStepTitle1, question: " ", answer: MMSE16QuestionStepAnswer1)
+        MMSE16QuestionStep1.isOptional = false
+        
+        // Instruction 2
+        let MMSE16QuestionStepTitle2 = "Question 16"
+        let MMSE16QuestionChoices2 = [
+            ORKTextChoice(text: "Read", value: "Read" as NSString),
+            ORKTextChoice(text: "Dad", value: "Dad" as NSString),
+            ORKTextChoice(text: "Play", value: "Play" as NSString),
+            ORKTextChoice(text: "Bee", value: "Bee" as NSString),
+            ORKTextChoice(text: "Fight", value: "Fight" as NSString),
+            ORKTextChoice(text: "Drink", value: "Drink" as NSString),
+            ORKTextChoice(text: "Paper", value: "Paper" as NSString),
+            ORKTextChoice(text: "Popcorn", value: "Popcorn" as NSString),
+            ORKTextChoice(text: "Write", value: "Write" as NSString),
+            ORKTextChoice(text: "Dance", value: "Dance" as NSString),
+            ORKTextChoice(text: "Travel", value: "Travel" as NSString),
+            ORKTextChoice(text: "Comb", value: "Comb" as NSString)
+        ]
+        
+        let MMSE16QuestionStepAnswer2 = ORKTextChoiceAnswerFormat(style: .multipleChoice, textChoices: MMSE16QuestionChoices2)
+        MMSE13QuestionStepAnswer2.multipleLines = false
+        let MMSE16QuestionStep2 = ORKQuestionStep(identifier: "16Indicacion2", title: MMSE16QuestionStepTitle2, question: " ", answer: MMSE16QuestionStepAnswer2)
+        MMSE13QuestionStep2.isOptional = false
+        
+        // Instruction 3
+        let MMSE16QuestionStepTitle3 = "Question 16"
+        let MMSE16QuestionStepAnswer3 = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE16QuestionStepAnswer3.multipleLines = false
+        let MMSE16QuestionStep3 = ORKQuestionStep(identifier: "16Instruction3", title: MMSE16QuestionStepTitle3, question: " ", answer: MMSE16QuestionStepAnswer3)
+        MMSE16QuestionStep3.isOptional = false
+        
+        // Question 17
+        let MMSE17QuestionStepTitle = "Question 17"
+        
+        // Text answer format
+        let MMSE17QuestionStepAnswer = ORKTextAnswerFormat(maximumLength: 30)
+        MMSE17QuestionStepAnswer.multipleLines = false
+        
+        // Create the image question step for MMSE17
+        let MMSE17QuestionStep = ORKQuestionStep(
+            identifier: "17ImageConstruction",
+            title: MMSE17QuestionStepTitle,
+            question: "Please do what the image says",
+            answer: MMSE17QuestionStepAnswer
+        )
+        MMSE17QuestionStep.isOptional = false
+        
+        // Add the image to the step
+        MMSE17QuestionStep.image = UIImage(named: "name1")
+        
+        // Question 18
+        let MMSE18QuestionStep = ORKQuestionStep(identifier: "18Sentence")
+        MMSE18QuestionStep.title = "Question 18"
+        MMSE18QuestionStep.question = "Write a sentence as if you were writing a letter."
+        MMSE18QuestionStep.answerFormat = ORKTextAnswerFormat(maximumLength: 200)
+        MMSE18QuestionStep.isOptional = false
+        
+        // Question 19
+        let MMSE19QuestionStepTitle1 = "Question 19"
+        
+        // Create the image-only question step
+        let MMSE19QuestionStep1 = ORKInstructionStep(identifier: "19Drawing1")
+        MMSE19QuestionStep1.title = MMSE19QuestionStepTitle1
+        MMSE19QuestionStep1.detailText = "Memorize the image below and click (Next)"
+        
+        // Add the image to the step
+        MMSE19QuestionStep1.image = UIImage(named: "dibujo")
+        
+        let MMSE19QuestionStep2 = ORKSignatureStep(identifier: "19Drawing")
+        MMSE19QuestionStep2.title = "Draw"
+        MMSE19QuestionStep2.text = "Draw the image above"
+        
+        // END
+        let completionStep = ORKCompletionStep(identifier: "MMSECompletion")
+        completionStep.title = "Thank you!"
+        completionStep.iconImage = UIImage(systemName: "checkmark.seal")
+        completionStep.text = "You have completed the MMSE test. Thank you for your participation!"
+        
+        // Retorna la tarea combinando los pasos
+        return ORKOrderedTask(identifier: "MMSESurveyTask", steps: [mmseInfo, sec1, MMSE1QuestionStep, MMSE2QuestionStep, MMSE3QuestionStep, MMSE4QuestionStep, MMSE5QuestionStep, MMSE6QuestionStep, MMSE7QuestionStep, MMSE8QuestionStep, MMSE9QuestionStep, MMSE10QuestionStep, sec2, words1, MMSE11QuestionStep1, MMSE11QuestionStep2, MMSE11QuestionStep3, sec3, subtract1, MMSE12QuestionStep1, MMSE12QuestionStep2, MMSE12QuestionStep3, MMSE12QuestionStep4, MMSE12QuestionStep5, sec4, MMSE13QuestionStep1, MMSE13QuestionStep2, MMSE13QuestionStep3, sec5, MMSE14QuestionStep1, MMSE14QuestionStep2, MMSE15QuestionStep1, ind16, MMSE16QuestionStep1, MMSE16QuestionStep2, MMSE16QuestionStep3, MMSE17QuestionStep, MMSE18QuestionStep,MMSE19QuestionStep1, MMSE19QuestionStep2, completionStep])
+    }
+}
diff --git a/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift b/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift
index 0a29b95..577ac96 100644
--- a/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift
+++ b/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift
@@ -6,8 +6,10 @@
 //
 
 import UIKit
+import ResearchKitUI
+import ResearchKit
 
-class MMSEViewController: UIViewController {
+class MMSEViewController: UIViewController, ORKTaskViewControllerDelegate {
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -16,14 +18,16 @@ class MMSEViewController: UIViewController {
     }
     
 
-    /*
-    // MARK: - Navigation
-
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
-        // Get the new view controller using segue.destination.
-        // Pass the selected object to the new view controller.
+    @IBAction func mmseButton(_ sender: UIButton) {
+        let task = MMSEManager.shared.createMMSE() // Cambia el cuestionario a MMSE
+        let taskViewController = ORKTaskViewController(task: task, taskRun: nil)
+        taskViewController.modalPresentationStyle = .fullScreen
+        taskViewController.delegate = self
+        present(taskViewController, animated: true, completion: nil)
     }
-    */
+    
+    func taskViewController(_ taskViewController: ORKTaskViewController, didFinishWith reason: ORKTaskFinishReason, error: (any Error)?) {
+        taskViewController.dismiss(animated: true, completion: nil)
 
+    }
 }