From 06473f167eade84c43e1ee1ea7da813aa85d4877 Mon Sep 17 00:00:00 2001 From: Juan David Lopez Regalado Date: Fri, 31 Jan 2025 12:52:58 -0600 Subject: [PATCH] miss drag button --- README.md | 167 ++++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 29845 -> 38626 bytes .../SAGE_RK_ML/Base.lproj/Main.storyboard | 4 + SAGE_RK_ML/SAGE_RK_ML/ConsentDocument.swift | 52 ++++++ SAGE_RK_ML/SAGE_RK_ML/ConsentTask.swift | 90 +++++++++- .../SAGE_RK_ML/ConsentViewController.swift | 14 +- 6 files changed, 324 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9b41892..84b2cec 100644 --- a/README.md +++ b/README.md @@ -52,4 +52,171 @@ With all the files created, should look like the next image: The files are in charge of managing all the forms that are generated with ResearchKit, the Managers are in charge of saying what and what parts are added to the form, that is, the questions, and the ViewController is in charge of triggering it and displaying it on the cell phone. +In case of Consent it's similar, but it's divide de Manager in two files, the sections and the content. + +### Develop Consent + +For develop a consent it's necessary knows the content that you need for your participants, but most of them require the same sections. + +In ConsentDocument it is required put the sections that content the consent, and you need to add a code like this: + +``` +import Foundation +import ResearchKit + +public var ConsentDocument: ORKConsentDocument { + + let consentDocument = ORKConsentDocument() + consentDocument.title = "Conset for questionaires IPAQ and MMSE" // Title + + // Type of sections + let sectionTypes: [ORKConsentSectionType] = [ + .overview, + .dataGathering, + .privacy, + .dataUse, + .timeCommitment, + .studySurvey, + .studyTasks, + .withdrawing + ] + + let text = [ + "Section 1: Welcome. This study is about...", + "Section 2: Data Gathering. This study will collect data from your Apple Watch...", + "Section 3: Privacy. We value your privacy...", + "Section 4: Data Use. The data collected will be used for...", + "Section 5: Time Commitment. This study will take you roughly...", + "Section 6: Study Survey. For this study, you will need to fill out a survey...", + "Section 7: Study Tasks. You will be requested to do these tasks...", + "Section 8: Withdrawing. To withdraw from the study..." + ] + + // Create sections and add them to the consent document + var sections: [ORKConsentSection] = [] + + for (index, sectionType) in sectionTypes.enumerated() { + let section = ORKConsentSection(type: sectionType) + let localizedText = NSLocalizedString(text[index], comment: "") + let localizedSummary = localizedText.components(separatedBy: ".")[0] + "." + + section.summary = localizedSummary + section.content = localizedText + sections.append(section) + } + + consentDocument.sections = sections + + // add sign to consent + let signature = ORKConsentSignature(forPersonWithTitle: "Participante", dateFormatString: nil, identifier: "ConsentDocumentParticipantSignature") + consentDocument.addSignature(signature) + + return consentDocument +} + +``` + +This code define sections such as privacy, data collection and use, time commitment, and withdrawal from the study, assigning explanatory texts to each. Additionally, add a field for the participant to sign, ensuring that the consent is complete and ready to be used in the app. + +And now the sequence of how it will be shown is putted in the file ConsentTask like the next code: + +``` +import UIKit +import ResearchKit + +public var ConsentTask: ORKOrderedTask { + + var steps = [ORKStep]() + + // Visualization of sections + let consentDocument = ConsentDocument + + // Section 1: Welcome + let section1 = ORKInstructionStep(identifier: "consentSection1InstructionStep") + section1.title = "Welcome" + section1.iconImage = UIImage(systemName: "hand.wave") + section1.detailText = "Section 1: Welcome. This study is about..." + steps += [section1] + + // Section 2: Data Collection + let section2 = ORKInstructionStep(identifier: "consentSection2InstructionStep") + section2.title = "Data Collection" + section2.iconImage = UIImage(systemName: "doc.text") + section2.detailText = "Section 2: Data Collection. This study will collect data..." + steps += [section2] + + // Section 3: Privacy + let section3 = ORKInstructionStep(identifier: "consentSection3InstructionStep") + section3.title = "Privacy" + section3.iconImage = UIImage(systemName: "lock.shield") + section3.detailText = "Section 3: Privacy. We value your privacy..." + steps += [section3] + + // Section 4: Data Use + let section4 = ORKInstructionStep(identifier: "consentSection4InstructionStep") + section4.title = "Data Use" + section4.iconImage = UIImage(systemName: "chart.bar") + section4.detailText = "Section 4: Data Use. The collected data will be used for..." + steps += [section4] + + // Section 5: Time Commitment + let section5 = ORKInstructionStep(identifier: "consentSection5InstructionStep") + section5.title = "Time Commitment" + section5.iconImage = UIImage(systemName: "clock") + section5.detailText = "Section 5: Time Commitment. This study will take approximately..." + steps += [section5] + + // Section 6: Study Survey + let section6 = ORKInstructionStep(identifier: "consentSection6InstructionStep") + section6.title = "Study Survey" + section6.iconImage = UIImage(systemName: "list.bullet.rectangle") + section6.detailText = "Section 6: Study Survey. For this study, you will need to complete a survey..." + steps += [section6] + + // Section 7: Study Tasks + let section7 = ORKInstructionStep(identifier: "consentSection7InstructionStep") + section7.title = "Study Tasks" + section7.iconImage = UIImage(systemName: "pencil.and.outline") + section7.detailText = "Section 7: Study Tasks. You will be required to perform these tasks..." + steps += [section7] + + // Section 8: Withdrawal + let section8 = ORKInstructionStep(identifier: "consentSection8InstructionStep") + section8.title = "Withdrawal" + section8.iconImage = UIImage(systemName: "arrow.backward.circle") + section8.detailText = "Section 8: Withdrawal. To withdraw from the study..." + steps += [section8] + + // Review and Sign + let signature = consentDocument.signatures!.first! + let reviewConsentStep = ORKConsentReviewStep(identifier: "ConsentReviewStep", signature: signature, in: consentDocument) + reviewConsentStep.title = "Review" + reviewConsentStep.text = "Review the consent form." + reviewConsentStep.reasonForConsent = "Consent to join the study" + steps += [reviewConsentStep] + + // Passcode/TouchID Protection + let passcodeStep = ORKPasscodeStep(identifier: "Passcode") + passcodeStep.iconImage = UIImage(systemName: "lock.circle") + passcodeStep.text = "You will now create a passcode to identify yourself in the app and protect the entered information." + steps += [passcodeStep] + + // Completion + let completionStep = ORKCompletionStep(identifier: "CompletionStep") + completionStep.iconImage = UIImage(systemName: "checkmark.seal") + completionStep.title = "Welcome aboard" + completionStep.text = "Thank you for joining this study." + steps += [completionStep] + + return ORKOrderedTask(identifier: "ConsentTask", steps: steps) +} +``` + +This code explain each section, the sequence and the contet shown in the application. + + +Now is necessary program the trigger, it means the button that show the consent.The button of consent is programmed in ConsentViewController, need to open the consent en the interface, for to drag the button to the controller and give it the action function, adding the code where it tells us that when pressing the button, the consent is displayed. + +The following GIF shows how the drag would be done and the code will be placed below. + 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 4eb6127cb8232f7618e5ba8db17b9e13ea4dae75..88ae0f8d01201692bf642e692010c478c07dac37 100644 GIT binary patch literal 38626 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 delta 13610 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 + + +