Modèle de backend d'archive de diapositives de pathologie
Métadonnées des diapositives, coordonnées des étagères et suivi des numérisations numériques
Un backend d'archive de diapositives de pathologie prêt à la production sur Back4app avec des métadonnées des échantillons, des coordonnées de stockage et des journaux de numérisation numériques. Inclut un diagramme ER, un dictionnaire de données, un schéma JSON, un espace de test API, et un prompt pour Agent IA pour un démarrage rapide.
Principaux enseignements pour les archives de diapositives
Ce modèle vous donne un backend d'archive de diapositives de pathologie avec des métadonnées de spécimens, des coordonnées de stockage et des journaux de numérisation numérique afin que votre équipe puisse suivre les diapositives avec moins de suivi manuel.
- Structure axée sur le spécimen — Modélisez chaque SlideSet autour des métadonnées des spécimens, des numéros d'accès, du type de teinture et des identifiants Block.
- Suivi de l'emplacement d'archive — Stockez les coordonnées de stockage telles que la salle, le cabinet, l'étagère et l'emplacement dans des champs Parse interrogeables.
- Historique de numérisation numérique — Enregistrez les entrées ScanLog pour chaque image de diapositive, opérateur, scanner et horodatage.
- Gestion consciente des rôles — Gardez les coordonnateurs, le personnel de laboratoire et les gestionnaires alignés sur qui peut mettre à jour les emplacements de diapositives ou l'état de numérisation.
- Accès web et mobile — Servez les tableaux de bord d'archive via une seule API REST et GraphQL pour la recherche de diapositives et la révision de numérisations.
Aperçu : Archive de diapositives de pathologie
Dans l'archive de diapositives de pathologie, le coût d'une mauvaise entrée d'emplacement n'est pas seulement du temps — c'est la cascade de prélèvements, d'expéditions et d'audits construits sur de mauvaises coordonnées. L'élan dépend d'un état précis. Avec SlideSet, Specimen, StorageSlot, et ScanLog modélisés proprement sur Back4app, les parties prenantes de l'archive de diapositives de pathologie obtiennent des rapports cohérents sans exporter cinq tableurs différents. Le schéma couvre SlideSet (accessionNumber, specimenLabel, stainType, archiveStatus), Specimen (caseId, tissueType, diagnosisCode), StorageSlot (room, cabinet, shelf, slot) et ScanLog (slideSet, scannerId, scanDate, fileUrl) avec authentification et suivi d'archive intégrés. Connectez votre frontend préféré et expédiez plus rapidement.
Meilleur pour :
Vue d'ensemble du backend de l'archive de diapositives de pathologie
Les opérateurs dans l'archive de diapositives de pathologie ressentent généralement d'abord la douleur lors des transitions : une équipe met à jour une feuille, une autre se fie à un fil de discussion, et aucune ne correspond à ce que le client a été dit.
Le hub met en avant SlideSet, Specimen et StorageSlot afin que vous puissiez comparer les piles des clients par rapport aux mêmes entités, champs et relations.
Fonctionnalités clés de l'archive de pathologie
Chaque carte technologique dans ce hub utilise le même schéma d'archive de diapositive avec SlideSet, Specimen, StorageSlot et ScanLog.
registre des diapositives
Le registre des diapositives conserve le numéro d'accès, l'étiquette de l'échantillon, le type de teinture et l'état d'archive.
métadonnées de l'échantillon
L'échantillon conserve l'ID de cas, le type de tissu, le code de diagnostic et la date de collecte.
Coordonnées de stockage
Le StorageSlot enregistre la pièce, l'armoire, l'étagère et l'emplacement.
Journaux de scan numériques
Le ScanLog relie slideSet, scannerId, scanDate et fileUrl.
Pourquoi construire votre backend d'archive de lames de pathologie avec Back4app ?
Back4app fournit aux équipes d'archive des primitives structurées pour les lames, les échantillons et les scans afin qu'elles puissent se concentrer sur la précision de la récupération plutôt que sur la plomberie du backend.
- •Les enregistrements de SlideSet et d'échantillon restent liés: La classe SlideSet pointe vers l'échantillon et garde le numéro d'accès, le type de teinture et le statut d'archive au même endroit.
- •Les coordonnées de StorageSlot restent consultables: Des champs comme la pièce, l'armoire, l'étagère et l'emplacement rendent les lieux d'archive faciles à filtrer avant une collecte en laboratoire ou une tâche de réapprovisionnement.
- •Les entrées de ScanLog capturent chaque passage numérique: Utilisez ScanLog pour scannerId, scanDate et fileUrl afin que les responsables puissent auditer ce qui a été numérisé et quand.
Construisez des recherches d'archive, le suivi des échantillons et l'historique des scans sur un seul contrat backend sur chaque plateforme.
Avantages principaux pour les équipes d'archive
Un backend d'archive de diapositive pathologique qui vous aide à réduire les erreurs de recherche et à maintenir un historique de scan cohérent.
Récupération de diapositives plus rapide
Utilisez StorageSlot.room, StorageSlot.cabinet et StorageSlot.slot pour trouver une diapositive sans vérifier les journaux papier.
Contexte de spécimen plus clair
Gardez SlideSet.accessionNumber connecté à Specimen.caseId et diagnosisCode pour des transferts plus clairs.
Traçabilité numérique fiable
ScanLog.scanDate et scannerId montrent quand chaque image de diapositive a été créée et par quel appareil.
Mises à jour d'archives contrôlées
Utilisez des politiques ACL et CLP afin que seuls le personnel autorisé puisse modifier archiveStatus ou les coordonnées de stockage.
Comportement de recherche cohérent
Interrogez par specimenLabel, stainType ou archiveStatus sans retravailler la base de données plus tard.
Configuration du backend assistée par l'IA
Générez le SlideSet, l'échantillon, le StorageSlot et le ScanLog à partir d'une seule invite.
Prêt à lancer votre archive de lames de pathologie ?
Laissez l'agent IA Back4app structurer votre backend d'archive et générer des métadonnées d'échantillon, des coordonnées de stockage et des flux de journal de numérisation à partir d'une seule invite.
Gratuit pour commencer — 50 invites d'agent IA/mois, pas besoin de carte de crédit
Pile technique
Tout est inclus dans ce modèle de backend d'archive de diapositives de pathologie.
Diagramme ER d'archive
Modèle de relation d'entité pour le schéma d'archive des lames de pathologie.
Schéma couvrant les ensembles de lames, les métadonnées des spécimens, les coordonnées de stockage et les journaux de numérisation.
Voir la source du diagramme
erDiagram
StaffUser ||--o{ SlideCase : "owner"
SlideCase ||--o{ Specimen : "parent case"
SlideCase ||--o{ StorageCoordinate : "stored at"
SlideCase ||--o{ DigitalScanLog : "scanned for"
StaffUser ||--o{ ArchiveAccessLog : "staffUser"
SlideCase ||--o{ ArchiveAccessLog : "slideCase"
StaffUser {
String objectId PK
String username
String email
String password
String role
String department
Date createdAt
Date updatedAt
}
SlideCase {
String objectId PK
String caseNumber
String accessionNumber
String patientInitials
String specimenType
String status
String ownerId FK
Date createdAt
Date updatedAt
}
Specimen {
String objectId PK
String slideCaseId FK
String specimenId
String blockId
String tissueSite
Date receivedAt
Date createdAt
Date updatedAt
}
StorageCoordinate {
String objectId PK
String slideCaseId FK
String rack
String row
String slot
String shelfLevel
String retrievalStatus
Date createdAt
Date updatedAt
}
DigitalScanLog {
String objectId PK
String slideCaseId FK
String scannerName
Date scanDate
String resolution
String fileUrl
String scanStatus
Date createdAt
Date updatedAt
}
ArchiveAccessLog {
String objectId PK
String staffUserId FK
String slideCaseId FK
String action
Date accessedAt
Date createdAt
Date updatedAt
}
Flux d'intégration d'archive
Flux d'exécution typique pour l'authentification, la recherche de jeux de diapositives, la mise à jour des coordonnées de stockage et la révision des journaux de numérisation.
Voir la source du diagramme
sequenceDiagram
participant User
participant App as Pathology Slide Archive App
participant Back4app as Back4app Cloud
User->>App: Sign in to the archive console
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open case list
App->>Back4app: GET /classes/SlideCase?order=-updatedAt&limit=25
Back4app-->>App: SlideCase rows
User->>App: Add specimen metadata and storage coordinates
App->>Back4app: POST /classes/Specimen and POST /classes/StorageCoordinate
Back4app-->>App: Saved specimen and coordinate objects
User->>App: Record a digital scan
App->>Back4app: POST /classes/DigitalScanLog
Back4app-->>App: DigitalScanLog objectId
App->>Back4app: GET /classes/ArchiveAccessLog?include=staffUser,slideCase
Back4app-->>App: Access history for recent case activityDictionnaire de données des diapositives
Référence complète au niveau des champs pour chaque classe dans le schéma d'archive des diapositives pathologiques.
| Champ | Type | Description | Requis |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | Login name for archive staff | |
| String | Staff email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Staff role such as manager, coordinator, or technician | |
| department | String | Operational unit or lab team | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
8 champs dans StaffUser
Sécurité et autorisations
Comment la stratégie ACL et CLP sécurise les ensembles de diapositives, les métadonnées des spécimens, les coordonnées de stockage et les journaux de numérisation.
Édits d'archive basés sur les rôles
Seuls les coordonnateurs ou le personnel de laboratoire autorisé doivent mettre à jour SlideSet.archiveStatus et les coordonnées de StorageSlot.
Vérifications de l'intégrité des spécimens
Le code Cloud peut vérifier accessionNumber, caseId et diagnosisCode avant qu'un SlideSet soit enregistré.
Historique de scan restreint
Limiter les écritures de ScanLog aux utilisateurs authentifiés ou aux services de scanner afin que les enregistrements numériques restent audités.
Schéma JSON
Définition de schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.
{
"classes": [
{
"className": "StaffUser",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"department": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SlideCase",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseNumber": {
"type": "String",
"required": true
},
"accessionNumber": {
"type": "String",
"required": true
},
"patientInitials": {
"type": "String",
"required": true
},
"specimenType": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "StaffUser"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Specimen",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"slideCase": {
"type": "Pointer",
"required": true,
"targetClass": "SlideCase"
},
"specimenId": {
"type": "String",
"required": true
},
"blockId": {
"type": "String",
"required": true
},
"tissueSite": {
"type": "String",
"required": true
},
"receivedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "StorageCoordinate",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"slideCase": {
"type": "Pointer",
"required": true,
"targetClass": "SlideCase"
},
"rack": {
"type": "String",
"required": true
},
"row": {
"type": "String",
"required": true
},
"slot": {
"type": "String",
"required": true
},
"shelfLevel": {
"type": "String",
"required": true
},
"retrievalStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "DigitalScanLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"slideCase": {
"type": "Pointer",
"required": true,
"targetClass": "SlideCase"
},
"scannerName": {
"type": "String",
"required": true
},
"scanDate": {
"type": "Date",
"required": true
},
"resolution": {
"type": "String",
"required": true
},
"fileUrl": {
"type": "String",
"required": true
},
"scanStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ArchiveAccessLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"staffUser": {
"type": "Pointer",
"required": true,
"targetClass": "StaffUser"
},
"slideCase": {
"type": "Pointer",
"required": true,
"targetClass": "SlideCase"
},
"action": {
"type": "String",
"required": true
},
"accessedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Construire avec l'agent IA
Utilisez l'agent IA de Back4app pour générer une véritable application d'archive de lames pathologiques à partir de ce modèle, y compris le frontend, le backend, l'authentification, ainsi que les flux de lames, de spécimens, de stockage et de scan.
Créez une application backend d'archive de diapositives de pathologie sur Back4app avec ce schéma et ce comportement exacts. Schéma : 1. Utilisateur (utiliser la fonction intégrée de Back4app) : nom d'utilisateur, email, mot de passe ; objectId, createdAt, updatedAt (système). 2. Spécimen : caseId (String, requis), tissueType (String, requis), diagnosisCode (String), collectionDate (Date) ; objectId, createdAt, updatedAt (système). 3. SlideSet : spécimen (Pointeur vers Spécimen, requis), accessionNumber (String, requis), specimenLabel (String, requis), stainType (String, requis), archiveStatus (String, requis) ; objectId, createdAt, updatedAt (système). 4. StorageSlot : slideSet (Pointeur vers SlideSet, requis), room (String, requis), cabinet (String, requis), shelf (String, requis), slot (String, requis), note (String) ; objectId, createdAt, updatedAt (système). 5. ScanLog : slideSet (Pointeur vers SlideSet, requis), scannerId (String, requis), scanDate (Date, requis), fileUrl (String, requis), qualityFlag (String) ; objectId, createdAt, updatedAt (système). Sécurité : - Seul le personnel autorisé peut mettre à jour les coordonnées d'archive ou les journaux de numérisation. Utilisez le Cloud Code pour la validation. Auth : - Inscription, connexion, déconnexion. Comportement : - Lister les ensembles de diapositives, mettre à jour les coordonnées de stockage, créer des journaux de numérisation et passer en revue l'historique des numérisations. Livraison : - Application Back4app avec schéma, ACLs, CLPs ; frontend pour les ensembles de diapositives, les métadonnées des spécimens, les coordonnées de stockage et les journaux de numérisation.
Appuyez sur le bouton ci-dessous pour ouvrir l'agent avec cette invite de modèle pré-remplie.
Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.
API Playground
Essayez les points de terminaison REST et GraphQL contre le schéma d'archive de diapositives de pathologie. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.
Utilise le même schéma que ce modèle.
Choisissez votre technologie
Développez chaque carte pour voir comment intégrer SlideSet, Specimen et StorageSlot avec votre pile choisie.
Flutter Archive de diapositives de pathologie Backend
React Archive de diapositives de pathologie Backend
React Natif Archive de diapositives de pathologie Backend
Next.js Archive de diapositives de pathologie Backend
JavaScript Archive de diapositives de pathologie Backend
Android Archive de diapositives de pathologie Backend
iOS Archive de diapositives de pathologie Backend
Vue Archive de diapositives de pathologie Backend
Angular Archive de diapositives de pathologie Backend
GraphQL Archive de diapositives de pathologie Backend
REST API Archive de diapositives de pathologie Backend
PHP Archive de diapositives de pathologie Backend
.NET Archive de diapositives de pathologie Backend
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma d'archive de lames pathologiques et les mêmes contrats d'API.
Structure d'archive de lames unifiée
Gérez SlideSet, Specimen, StorageSlot et ScanLog avec un schéma cohérent.
Métadonnées de spécimen pour le travail d'archive
Conservez les numéros d'accession, les codes de diagnostic et les types de tissus disponibles pour la recherche du personnel.
Coordonnées de stockage auxquelles le personnel peut faire confiance
Suivre la salle, le cabinet, l'étagère et l'emplacement de chaque diapositive archivée.
Journaux de numérisation numérique pour la traçabilité
Capturer scannerId, scanDate et fileUrl lorsque les diapositives sont numérisées.
API REST/GraphQL pour les applications d'archive
Intégrer les clients mobiles et web avec un contrat backend.
Comparaison du cadre d'archive de pathologie
Comparez la vitesse de configuration, le style SDK et le support de l'IA entre toutes les technologies prises en charge.
| Cadre | Temps de configuration | Avantage de l'archive | Type de SDK | Support AI |
|---|---|---|---|---|
| Environ 5 minutes | Base de code unique pour les tableaux de bord d'archivage sur mobile et web. | SDK typé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour les métadonnées des diapositives et la révision des scans. | SDK tapé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour le personnel d'archive de diapositives. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Portail d'archive rendu côté serveur pour les coordonnateurs. | SDK tapé | Complet | |
| ~3–5 min | Intégration web légère pour les outils de recherche d'archives. | SDK tapé | Complet | |
| Environ 5 min | Application native Android pour les tâches de stockage et de numérisation. | SDK typé | Complet | |
| Moins de 5 minutes | Application native iOS pour le personnel d'archives de lames pathologiques. | SDK typé | Complet | |
| ~3–7 min | Interface web Reactive pour les opérations d'archives de lames. | SDK typé | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour les équipes d'archives de pathology. | SDK tapé | Complet | |
| Moins de 2 min | API flexible GraphQL pour les requêtes d'archives de diapositives imbriquées. | API GraphQL | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour les opérations d'archives de diapositives. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour les flux de travail d'archives. | REST API | Complet | |
| ~3–7 min | Backend .NET pour les systèmes d'archives de lames de pathologie. | SDK typé | Complet |
Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première requête SlideSet ou StorageSlot en utilisant ce schéma de modèle.
Questions Fréquemment Posées
Questions courantes sur la création d'une archive de diapositives de pathologie avec ce modèle.
Prêt à construire votre archive de lames de pathologie ?
Commencez votre projet d'archive en quelques minutes. Aucun besoin de carte de crédit.