edc-retinopathy
Add a diabetic retinopathy screening form and REST API for integrating with a fundus camera in a clinicedc project.
A clinician creates an EyeExamRegister instance in the EDC before the exam. The camera software (fundus-camera-watchdog) resolves the subject, uploads eye images, DICOM files and reports, then checks status.
Requires django>=5.2,<6.1 and djangorestframework>=3.16.0
REST API
All endpoints use TokenAuthentication.
- GET /api/retinopathy/ping/
Health check. Returns {"status": "ok"}.
- POST /api/retinopathy/resolve/
Confirm a EyeExamRegister exists for a subject. Payload:
{"subject_identifier": "105-10-0001-2"}Returns 200 with eye_exam_register_id and uploaded list, or 404 if no session exists.
- POST /api/retinopathy/<subject_identifier>/<file_type>/
Upload a file. Multipart form with file, capture_datetime, and optional checksum (SHA-256). Valid file types:
left, right – eye images (JPEG/PNG)
left_dicom, right_dicom – DICOM files
left_report, right_report, report – reports (PDF/HTML)
Multiple files per type are accepted. Files are stored with their original filenames under <storage_dir>/images/<session_pk>/.
- GET /api/retinopathy/<subject_identifier>/status/
Session status: uploaded types, missing types, and whether the session is complete.
Models
- EyeExamRegister
Created by the clinician in the EDC. Links to RegisteredSubject and stores contra-indication screening fields, report type (combined / per-eye), and device ID.
- SessionFile
One record per uploaded file. Tracks file type, original filename, stored path, content type, size, SHA-256 checksum, and capture timestamp.
Settings
- EDC_RETINOPATHY_STORAGE_DIR
Base path for file storage. Must contain an images/ subdirectory.
- EDC_RETINOPATHY_MAX_FILE_SIZE_MB
Maximum upload size in MB (default: 10).
- EDC_RETINOPATHY_VISIT_DATETIME_FILTER
Datetime filter for Call List. If set, filters the list of subjects to those who attended AFTER the given datetime.
Metadata
Release files for edc-retinopathy 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| edc_retinopathy-1.4.0.tar.gz | 42.2 kB | Without provenance | Details for edc_retinopathy-1.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| edc_retinopathy-1.4.0-py3-none-any.whl | Python 3 | none | any | Details for edc_retinopathy-1.4.0-py3-none-any.whl |
Total release size: 121.0 kB
Release files / edc_retinopathy-1.4.0.tar.gz
| Download URL | edc_retinopathy-1.4.0.tar.gz |
|---|---|
| Size | 42.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a828fe599ee887f90c27e087b37e7e0650e0fc0cfb76d76c42adb25318c8a096
|
|
BLAKE2b-256 checksum How to use checksums |
172b0f4c63b389d563a3352230e3fadebe1a85dddf4d6f28fa31fba7e8d1db06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / edc_retinopathy-1.4.0-py3-none-any.whl
| Download URL | edc_retinopathy-1.4.0-py3-none-any.whl |
|---|---|
| Size | 78.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d0eb5bf3c88a711363584af593b6ff2998dda0577be02843f8bb61d853796812
|
|
BLAKE2b-256 checksum How to use checksums |
f5a6fd287874952351745a4f8349469f1b2860e4e90f038908285f57ed096d71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for edc-retinopathy 1.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.