diff --git a/.DS_Store b/.DS_Store index 897b1cb..e2d793f 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index 4fa480a..9b41892 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,18 @@ The first part for develop a application is the visual part, you need to create The visual interface needs to be easy, intuitive, but the design is part of you. +The main screen should be like the next image: + + + +Now, it is necessary create 3 files for Consent(ConsentViewController, ConsentTask and ConsentDocument), 2 for IPAQ (IPAQViewConstroller and IPAQManager) and 2 for MMSE (MMSEViewController and MMSEManager). Files with termination ViewController are type CocoaTouchClass with subclass UIViewController and other termination only Swift File. In the next GIF show how to create this two files. + + + +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. + 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 ec1ff37..4eb6127 100644 Binary files a/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/project.xcworkspace/xcuserdata/JD2207.xcuserdatad/UserInterfaceState.xcuserstate and b/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/project.xcworkspace/xcuserdata/JD2207.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/xcuserdata/JD2207.xcuserdatad/xcschemes/xcschememanagement.plist b/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/xcuserdata/JD2207.xcuserdatad/xcschemes/xcschememanagement.plist index 06a311d..3754702 100644 --- a/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/xcuserdata/JD2207.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SAGE_RK_ML/SAGE_RK_ML.xcodeproj/xcuserdata/JD2207.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ <key>SAGE_RK_ML.xcscheme_^#shared#^_</key> <dict> <key>orderHint</key> - <integer>0</integer> + <integer>5</integer> </dict> </dict> </dict> 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 25a7638..5e8135f 100644 --- a/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard +++ b/SAGE_RK_ML/SAGE_RK_ML/Base.lproj/Main.storyboard @@ -1,24 +1,62 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> + <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <scenes> <!--View Controller--> <scene sceneID="tne-QT-ifu"> <objects> - <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController"> + <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="SAGE_RK_ML" customModuleProvider="target" sceneMemberID="viewController"> <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> - <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Digital Questionaires" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="4" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rQd-KL-UN9"> + <rect key="frame" x="85" y="100" width="223" height="30"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <fontDescription key="fontDescription" type="system" pointSize="25"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hii-ep-oyp"> + <rect key="frame" x="152" y="215" width="88" height="35"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <fontDescription key="fontDescription" type="system" pointSize="23"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="Consent"/> + </button> + <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4pd-9H-Ncy"> + <rect key="frame" x="152" y="357" width="88" height="40"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <fontDescription key="fontDescription" type="system" pointSize="23"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="MMSE"/> + </button> + <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A4y-6U-7HN"> + <rect key="frame" x="152" y="284" width="88" height="40"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <fontDescription key="fontDescription" type="system" pointSize="23"/> + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> + <state key="normal" title="IPAQ"/> + </button> + </subviews> <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> </view> </viewController> <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> </objects> + <point key="canvasLocation" x="125.95419847328243" y="-11.267605633802818"/> </scene> </scenes> + <resources> + <systemColor name="systemBackgroundColor"> + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </systemColor> + </resources> </document> diff --git a/SAGE_RK_ML/SAGE_RK_ML/ConsentDocument.swift b/SAGE_RK_ML/SAGE_RK_ML/ConsentDocument.swift new file mode 100644 index 0000000..7098c89 --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/ConsentDocument.swift @@ -0,0 +1,8 @@ +// +// ConsentDocument.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import Foundation diff --git a/SAGE_RK_ML/SAGE_RK_ML/ConsentTask.swift b/SAGE_RK_ML/SAGE_RK_ML/ConsentTask.swift new file mode 100644 index 0000000..f7672d9 --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/ConsentTask.swift @@ -0,0 +1,8 @@ +// +// ConsentTask.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import Foundation diff --git a/SAGE_RK_ML/SAGE_RK_ML/ConsentViewController.swift b/SAGE_RK_ML/SAGE_RK_ML/ConsentViewController.swift new file mode 100644 index 0000000..322aafb --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/ConsentViewController.swift @@ -0,0 +1,29 @@ +// +// ConsentViewController.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import UIKit + +class ConsentViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // 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. + } + */ + +} diff --git a/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift b/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift new file mode 100644 index 0000000..80a990d --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/IPAQManager.swift @@ -0,0 +1,8 @@ +// +// IPAQManager.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import Foundation diff --git a/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift b/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift new file mode 100644 index 0000000..1e0d7ae --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/IPAQViewController.swift @@ -0,0 +1,29 @@ +// +// IPAQViewController.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import UIKit + +class IPAQViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // 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. + } + */ + +} diff --git a/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift b/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift new file mode 100644 index 0000000..e395997 --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/MMSEManager.swift @@ -0,0 +1,8 @@ +// +// MMSEManager.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import Foundation diff --git a/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift b/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift new file mode 100644 index 0000000..0a29b95 --- /dev/null +++ b/SAGE_RK_ML/SAGE_RK_ML/MMSEViewController.swift @@ -0,0 +1,29 @@ +// +// MMSEViewController.swift +// SAGE_RK_ML +// +// Created by Juan David Lopez Regalado on 31/01/25. +// + +import UIKit + +class MMSEViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // 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. + } + */ + +} diff --git a/images/allfiles.png b/images/allfiles.png new file mode 100644 index 0000000..372204c Binary files /dev/null and b/images/allfiles.png differ diff --git a/images/files.gif b/images/files.gif new file mode 100644 index 0000000..aa79aae Binary files /dev/null and b/images/files.gif differ diff --git a/images/interface.png b/images/interface.png new file mode 100644 index 0000000..2099374 Binary files /dev/null and b/images/interface.png differ