Como divulgado no evento que aconteceu em março de 2015, a Apple disponibilizou o ResearchKit, seu framework de código aberto que visa permitir o uso de dispositivos móveis como uma rede de sensores para uso em pesquisas médicas.
Além do código fonte do framework e sua documentação, o repositório do ResearchKit no GitHub também inclui um aplicativo de exemplo feito pela Apple e quatro outros aplicativos que foram inicialmente publicados na App Store por um grupo de instituições de pesquisas médica.
Como previamente reportado pelo InfoQ.com, o ResearchKit fornece três módulos que atendem às exigências comuns de pesquisa médica: questionários, concordância e tarefas ativas. Do ponto de vista de design, os três módulos compartilham a mesma filosofia básica:
- Toda operação é uma coleção de passos (ORKStep), tal como um ORKQuestionStep, um ORKFormStep ou um ORKActiveStep;
- Os passos são coletados juntos em uma tarefa (protocolo ORKTask), como em uma ORKOrderedTask, que representa uma sequência de passos;
- Tarefas podem ser associadas a um view controller (ORKTaskViewController) para ser apresentado ao usuário;
- Para cada passo que o usuário completa, o view controller gera um objeto de resposta (ORKStepResult) que contem o resultado retornado pelo passo e o timestamp da operação. Especificamente, para passos cujos dados dos sensores de qualquer dispositivo ou HealthKit, duas classes são disponibilizadas: ORKRecorder e ORKRecorderConfiguration, que colaboram para coletar e configurar dados no formato serializável.
A maioria do código do framework do ResearchKit é escrito em Objective-C, enquanto o código de exemplo, ORKCatalog, é escrito em Swift.
Os quatro aplicativos incluídos no repositório são:
- GlucoSuccess: um aplicativo para estudo da diabetes desenvolvido pelo Hospital Massachusetts General;
- AsthmaHealth: um aplicativo que estuda asma, desenvolvido pelo Monte Sinai;
- ShareTheJourney: um aplicativo que estuda o câncer de mama, desenvolvido pela Sage Bionetworks;
- mPower: um aplicativo que estuda o Mal de Parkinson, desenvolvido pelo Sage Bionetworks e pela Universidade de Rochester.
Esses quatro aplicativo compartilham o mesmo framework chamado AppCore que inclui funcionalidades que no devido tempo "serão migradas para dentro do ResearchKit", incluindo:
- Dashboard com gráficos de progresso;
- Backend de armazenamento de dados;
- Serialização e deserialização de JSON;
- Integração com o serviço de Bridge da Sage Bionetworks.
Para se aprofundar no assunto, você pode clonar o repositório do GitHub, ler o documento de resumo, ou a API de referência. Além disso, mantendo a tradição iniciada com o blog do Swift, ResearchKit tem seu próprio blog e uma lista de emails.