stanfordspezi / spezifhir Goto Github PK
View Code? Open in Web Editor NEWThe Spezi FHIR Standard & Related Modules
Home Page: https://swiftpackageindex.com/StanfordSpezi/SpeziFHIR/documentation/
License: MIT License
The Spezi FHIR Standard & Related Modules
Home Page: https://swiftpackageindex.com/StanfordSpezi/SpeziFHIR/documentation/
License: MIT License
The current documentation in the module provides a good overview of the API and includes documentation for most public APIs. In line with the newly published Stanford Spezi Documentation Guide, we should update the documentation in accordance with the guidelines.
The documentation should be updated to provide more insightful inline documentation, improve the README file and the DocC landing page in conformance with the Stanford Spezi Documentation Guide.
No response
With Swift 6 approaching in a few months and nightly builds already being available we should ensure that all our packages are working well with all Swift concurrency checks.
Enable strict concurrency checking in the Swift Package in a PR and ensure that we don't have any warnings remaining in the packages as we develop new features or fix bugs from now.
The UI Testing App target should also enable Enable strict concurrency checking.
The corresponding PR should fix all related warnings when enabling strict concurrency checking.
We should consider adding SWIFT_TREAT_WARNINGS_AS_ERRORS = YES
to our general workflows to ensure all warnings are flagged as errors during our CI setup.
Xcode Previews or unit tests often require the injection of mock data into the FHIR standard.
It would be good to add an option initializer that is only available in the debug configuration or an instance method to easily inject mock objects in the FHIR resource standard.
Mock data should be provided as FHIR data. We would expand the FHIR target to add another target to easily and quickly generate realistic mock data.
Currently, the SpeziFHIR package still depends on the legacy SpeziML 0.3.0
release. Since then, SpeziML was renamed to SpeziLLM and its version was bumped to 0.5.0
. Due to the changed interface, SpeziFHIR is currently incompatible with the latest release of SpeziLLM.
There is some work required within SpeziLLM to bring back the previous functionality that SpeziFHIR uses. Once, this is done, SpeziFHIR can be upgraded to the latest releases of the Spezi framework ecosystem.
This is currently a blocker to use SpeziFHIR with other Spezi releases which recently upgraded to the latest 1.0 releases.
As SpeziFHIR depends on a previous release of Spezi (SpeziLLM as well) it is incompatible to use with the latest version of packages.
The Spezi module should support watchOS to enable developers to build an Apple Watch-based application and visionOS to support developers who want to develop applications running on Apple Vision Pro.
The current Spezi module only supports and automatically tests iOS builds.
Add support for the latest watchOS and visionOS versions. We must add them as supported platforms in the Swift package file and update the Swift tools version to 5.9 if required.
All changes should be as cross-platform as possible. Increasing the iOS minimum platform target is acceptable.
The StanfordBDHG/SwiftPackageTemplate demonstrates the CI setup for visionOS and watchOS that should also be adopted for this Spezi module.
When collecting samples like this:
private var healthKit: HealthKit {
HealthKit {
CollectSamples(
[
HKClinicalType(.allergyRecord),
HKClinicalType(.clinicalNoteRecord),
HKClinicalType(.conditionRecord),
HKClinicalType(.coverageRecord),
HKClinicalType(.immunizationRecord),
HKClinicalType(.labResultRecord),
HKClinicalType(.medicationRecord),
HKClinicalType(.procedureRecord),
HKClinicalType(.vitalSignRecord)
],
predicate: HKQuery.predicateForSamples(
withStart: Date.distantPast,
end: nil,
options: .strictEndDate
),
deliverySetting: .anchorQuery(saveAnchor: false)
//deliverySetting: .manual(safeAnchor: false)
)
}
}
I often get crashes ending with:
SwiftUI/FetchCommon.swift:51: Fatal error: Can only invoke this method on the main queue
The traceback is like:
See above
Samples should be collected and added to the FHIRStore without crashing
I am doing something similar to t:
As of now, the LLM is only able to access health data resources via function calling that are available upon initialization of the LLM, as can be seen here:
FHIRStore
updates won't propagate to the LLM function, meaning the most up-to-date health data that becomes available during the application lifecycle won't be accessible to the LLM.
An example solution would be to use the Observable
conformance of FHIRStore
and utilize this to get informed about updates, re-assign the parameter property wrapper with new values, and then re-register for observation changes.
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.