spezi

Open-source framework for rapid development of modern, interoperable digital health applications.

https://github.com/stanfordspezi/spezi

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary

Keywords

digital-health digitalhealth fhir spezi stanford swift swiftui

Keywords from Contributors

chatbot large-language-models xcode schedule tasks contact
Last synced: 6 months ago · JSON representation ·

Repository

Open-source framework for rapid development of modern, interoperable digital health applications.

Basic Info
Statistics
  • Stars: 203
  • Watchers: 22
  • Forks: 21
  • Open Issues: 9
  • Releases: 45
Topics
digital-health digitalhealth fhir spezi stanford swift swiftui
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Spezi

Build and Test codecov DOI

Open-source framework for rapid development of modern, interoperable digital health applications.

Overview

[!NOTE] Refer to the Initial Setup instructions on how to integrate Spezi into your application!

Spezi introduces a standards-based modular approach to building digital health applications.

|Screenshot displaying the UI of the onboarding module. Screenshot displaying the UI of the onboarding module.|Screenshot displaying Spezi Devices and Bluetooth pairing user interface. Screenshot displaying Spezi Devices and Bluetooth pairing user interface.|Screenshot displaying the UI of the questionnaire module. Screenshot displaying the UI of the questionnaire module.| |:--:|:--:|:--:| |The Spezi Onboarding module.|The Spezi Bluetooth and Spezi Devices modules.|The Spezi Questionnaire module.| |Screenshot displaying the account setup view with an email and password prompt and a Sign In with Apple button using the Spezi Account module. Screenshot displaying the account setup view with an email and password prompt and a Sign In with Apple button using the Spezi Account module.|Three different kinds of text fields showing validation errors in red text using Spezi Validation package. Three different kinds of text fields showing validation errors in red text using Spezi Validation package.|A Chat View of a locally executed LLM using the Spezi LLM module. A Chat View of a locally executed LLM using the Spezi LLM module.| |The Spezi Account module.|The Spezi Views module, including the SpeziValidation target.|The Spezi LLM module.|

The best way to get started and explore the functionality of Spezi is by taking a look at the Spezi Template Application. The application incorporates a wide variety of sophisticated modules and demonstrates the usage of these modules in a simple-to-use and easy-to-extend application.

An Ecosystem of Modules

You can find a list of modules and reusable Swift Packages offered by the Spezi team at Stanford at the Swift Package Index Stanford Spezi page.

[!NOTE] Spezi relies on an ecosystem of modules. Think about what modules you want to build and contribute to the open-source community! Refer to the Spezi Guide and Documentation Guide about the requirements for Spezi-based software and the Module documentation to learn more about building your modules.

Learn more about Spezi at spezi.stanford.edu. Reach out to us on social media and use the Stanford Spezi Discussion Forum to ask any Spezi-related questions or share the projects you built with Spezi.

Check out the Stanford Biodesign Digital Health GitHub organization and Stanford Biodesign Digital Health website at bdh.stanford.edu, for example, applications built with Spezi and some of our related open-source and research projects.

[!NOTE]
You can find a complete list of the Swift-based Spezi modules on the Spezi Swift Package Index page.

The Spezi Building Blocks

[!NOTE] The Spezi Guide and Documentation Guide guides define the requirements for Spezi-based modules, including terminology, hints, and examples on structuring your Spezi module, Swift Package, and surrounding repository.

A Standard defines the key coordinator that orchestrates the data flow in the application by meeting requirements defined by modules. You can learn more about the Standard protocol and when it is advised to create your own standard in your application in the Standard documentation.

A Module defines a software subsystem providing distinct and reusable functionality. Modules can use the constraint mechanism to enforce a set of requirements to the standard used in the Spezi-based software where the module is used. Modules also define dependencies on each other to reuse functionality and can communicate with other modules by offering and collecting information. They can also conform to different protocols to provide additional access to Spezi features, such as lifecycle management and triggering view updates in SwiftUI using the observable mechanisms in Swift. You can learn more about modules in the Module documentation.

For more information, please refer to the API documentation.

Contributing

Contributions to this project are welcome. Please make sure to read the contribution guidelines and the contributor covenant code of conduct first.

License

This project is licensed under the MIT License. See Licenses for more information.

Spezi Footer Spezi Footer

Owner

  • Name: Stanford Spezi
  • Login: StanfordSpezi
  • Kind: organization

Citation (CITATION.cff)

#
# This source file is part of the Stanford Spezi open-source project
#
# SPDX-FileCopyrightText: 2022 Stanford University and the project authors (see CONTRIBUTORS.md)
#
# SPDX-License-Identifier: MIT
#

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Schmiedmayer"
  given-names: "Paul"
  orcid: "https://orcid.org/0000-0002-8607-9148"
- family-names: "Bauer"
  given-names: "Andreas"
  orcid: "https://orcid.org/0000-0002-1680-237X"
- family-names: "Zagar"
  given-names: "Philipp"
  orcid: "https://orcid.org/0009-0001-5934-2078"
- family-names: "Ravi"
  given-names: "Vishnu"
  orcid: "https://orcid.org/0000-0003-0359-1275"
- family-names: "Aalami"
  given-names: "Oliver"
  orcid: "https://orcid.org/0000-0002-7799-2429"
title: "Stanford Spezi"
doi: 10.5281/zenodo.7538238
url: "https://github.com/StanfordSpezi/Spezi"

GitHub Events

Total
  • Create event: 11
  • Issues event: 4
  • Release event: 5
  • Watch event: 43
  • Delete event: 8
  • Issue comment event: 5
  • Push event: 34
  • Pull request event: 15
  • Pull request review event: 46
  • Pull request review comment event: 68
  • Fork event: 9
Last Year
  • Create event: 11
  • Issues event: 4
  • Release event: 5
  • Watch event: 43
  • Delete event: 8
  • Issue comment event: 5
  • Push event: 34
  • Pull request event: 15
  • Pull request review event: 46
  • Pull request review comment event: 68
  • Fork event: 9

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 103
  • Total Committers: 5
  • Avg Commits per committer: 20.6
  • Development Distribution Score (DDS): 0.311
Past Year
  • Commits: 16
  • Committers: 3
  • Avg Commits per committer: 5.333
  • Development Distribution Score (DDS): 0.313
Top Committers
Name Email Commits
Paul Schmiedmayer P****r 71
Andreas Bauer a****r@s****u 26
Vishnu Ravi v****i@g****m 2
Lukas Kollmer h****y@l****e 2
Philipp Zagar z****r@s****u 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 53
  • Average time to close issues: 5 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 5
  • Total pull request authors: 8
  • Average comments per issue: 0.89
  • Average comments per pull request: 1.87
  • Merged pull requests: 50
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 13
  • Average time to close issues: 18 minutes
  • Average time to close pull requests: 9 days
  • Issue authors: 3
  • Pull request authors: 6
  • Average comments per issue: 0.33
  • Average comments per pull request: 1.15
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • PSchmiedmayer (11)
  • Supereg (6)
  • lukaskollmer (1)
  • scdi (1)
  • 01H-W-H10 (1)
  • philippzagar (1)
Pull Request Authors
  • Supereg (40)
  • PSchmiedmayer (16)
  • lukaskollmer (6)
  • philippzagar (3)
  • bauer-andreas (3)
  • pauljohanneskraft (2)
  • max-rosenblattl (1)
  • milanagm (1)
Top Labels
Issue Labels
enhancement (14) good first issue (4) help wanted (3) documentation (2) bug (2) test (1)
Pull Request Labels
enhancement (32) documentation (8) test (2) bug (1)

Dependencies

.github/workflows/build-and-test.yml actions
.github/workflows/monthly-markdown-link-check.yml.yml actions
.github/workflows/pull_request.yml actions
Package.swift swiftpm