Sonador Imaging Platform issueshttps://code.oak-tree.tech/oak-tree/medical-imaging/imaging-development-env/-/issues2023-12-02T22:54:13Zhttps://code.oak-tree.tech/oak-tree/medical-imaging/imaging-development-env/-/issues/57Create a blog entry describing Sonador 0.3: "Industrial Strength Imaging Plat...2023-12-02T22:54:13ZRob OakesCreate a blog entry describing Sonador 0.3: "Industrial Strength Imaging Platform"Sonador Software Development Kit (SDK)https://code.oak-tree.tech/oak-tree/medical-imaging/imaging-development-env/-/issues/56Create a "web development in Sonador" set of pages which describe design patt...2023-11-11T23:16:55ZRob OakesCreate a "web development in Sonador" set of pages which describe design patterns, workflows, and components within the Oak-Tree platformDesign patterns:
* How are the backend components of the Oak-Tree platform and Sonador organized?
- `lib/guru`
+ Management endpoints
+ REST endpoints
+ Form driven data cleaning/validation
- `lib/secure`
+ security: ...Design patterns:
* How are the backend components of the Oak-Tree platform and Sonador organized?
- `lib/guru`
+ Management endpoints
+ REST endpoints
+ Form driven data cleaning/validation
- `lib/secure`
+ security: API access credentials and tokens
+ `api_request`: security applied via decorators at URL patterns
* How are the APIs consumed?
- Guru Client library
+ Traditional REST conventions
+ Management API endpoint (collection methods)
- `fetch` (`classmethod`): retrieve JSON data for a collection
- `fetch_modelinstance` (`classmethod`): retrieve JSON data for a single member
- `create` (`classmethod`): create a model instance
+ Rest API endpoint (instance methods)
- `update`: update data for single instance
- `remove`: remove instance form the server
- Sonador IO client
+ `local`: work with DICOM data from a local source (folder)
+ `remote`: API based data
- Sonador Web Application
- Orthanc (`imaging.orthanc`)
+ Core/Resources: managed by uploading DICOM resources and indexing their contents
+ Extension models: associated with resources and managed via standard conventions
+ `sr`: structured data associated with a resource
Components:
* `lib/guru`
+ `views.py`: https://code.oak-tree.tech/django-apps/guru/-/blob/master/views.py
- `GuruApiObjectManagementView`: used to list existing instances and create new instances of model data
- `GuruApiRestView`: provide API access points to retrieve JSON encoded data
+ `forms.py`: https://code.oak-tree.tech/django-apps/guru/-/blob/master/forms/__init__.py
- `create_modelform_class`: create a form class for data validation from a model instance. _Supports nested model validation._
- `GuruCoreForm`: form class which supports nested model validation
- `RelatedModelField`: form field providing nested model validation
- `ManyToManyRelatedModelField`: form field providing support for form validation and update of many-to-many database relationships, including nested model validation
+ `filter.py`: https://code.oak-tree.tech/django-apps/guru/-/tree/master/filter
- `forms.py`: https://code.oak-tree.tech/django-apps/guru/-/blob/master/filter/forms.py
* `GuruQueryParamFilterFormMixin`: mixin class which can be used to add query parameter filtering of results to a view
- `views.py`: https://code.oak-tree.tech/django-apps/guru/-/blob/master/filter/views.py
* `GuruFilterForm`: Form which can be used to filter model results (works with a view that incorporates `GuruQueryParamFilterFormMixin`), provides properties to convert between query parameters and Queryset filter parameters.Sonador Software Development Kit (SDK)Yaroslav PotapchukYaroslav Potapchukhttps://code.oak-tree.tech/oak-tree/medical-imaging/imaging-development-env/-/issues/31Deploy Sonador Resource Cache and determine extent of speedup2023-12-02T22:46:05ZRob OakesDeploy Sonador Resource Cache and determine extent of speedupThe caching issues and problems seen in Orthanc only manifest in a very large databases. _A lot of the work for the implementation of caching features (oak-tree/medical-imaging/orthanc-sonador!10) came from working with the Osteoarthriti...The caching issues and problems seen in Orthanc only manifest in a very large databases. _A lot of the work for the implementation of caching features (oak-tree/medical-imaging/orthanc-sonador!10) came from working with the Osteoarthritis Database._ To determine the extent of the speed up and whether the work currently performed has been sufficient, the following test metrics should be bathered:
* Load time of DICOMweb interface for OAI segmentations: `{"PatientName": "*OAI*", "Modality": "SEG"}`
* Query time for example resource queries defined in [Sonador Cache Example API Queries](https://code.oak-tree.tech/oak-tree/medical-imaging/sonador-examples/-/blob/bedbe59855464a8d92db758cc54a7baf58ece847/technical-reference/database-cache01.example-queries.ipynb)Industrial Strength Imaging Platform Part 2: Monitoring, More Scalability Work, Additional Cloud Tuninghttps://code.oak-tree.tech/oak-tree/medical-imaging/imaging-development-env/-/issues/17Sonador/Aranei in Action: Write a general overview which describes cloud medi...2023-11-05T13:14:34ZRob OakesSonador/Aranei in Action: Write a general overview which describes cloud medical imaging workflows. What are the pieces? How do they interface? Show an example of the environment working together.**Background**: Sonador is a platform of integrated medical data technologies that help facilitate input/output (IO), artificial intelligence (AI), and 3D capabilities. Given the broad set of capabilities and disciplines that it attempts...**Background**: Sonador is a platform of integrated medical data technologies that help facilitate input/output (IO), artificial intelligence (AI), and 3D capabilities. Given the broad set of capabilities and disciplines that it attempts to work with, it can be difficult to explain. To that end, we need examples of "clinical stories" that demonstrate Sonador in action. _This article aims to provide a cohesive narrative explaining what Sonador does "in context."_
* How do imaging technologies work together? What do they attempt to do?
* What are the pieces and how do they interface?
* The article should use a single example and show how Sonador can bring together many technologies to support clinical care.
**Potential Case Study**: Diagnostic Detection of COVID-19 and heart issues.
> A patient presents to the emergency room with radiating chest pain, shortness of breath, and vertigo. An EKG is ordered which shows elevated ST segments prompting the attending physician to order a chest x-ray (CXR) to assess for lung issues and an EKG to screen for myocardial infarction (heart attack). The X-Ray is assessed by AI, which indicates a high degree of lung scarring and inflammation, suggesting COVID-19 may be present or there is significant scarring from a previous infection. This prompts the physician to also order COVID-19 diagnostic testing to rule out issues related to current infection and additional diagnostic testing to assess for the presence of long COVID and comorbid complications.
References:
* [COVID-19 detection from CXR](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8872326/).
* [Heart Problems after COVID-19](https://www.hopkinsmedicine.org/health/conditions-and-diseases/coronavirus/heart-problems-after-covid19)Sonador Software Development Kit (SDK)