CRM Sperimentazione Clinica
Crea con Agente AI
Backend CRM per Soggetti di Sperimentazione Clinica

Modello Backend CRM per Soggetti di Sperimentazione Clinica
Tracciamento di Utente, Studio, Soggetto, Screening, Visita e EventoAvverso

Un backend CRM per Soggetti di Sperimentazione Clinica su Back4app pronto per la produzione con flussi di lavoro per Studio, Soggetto, Screening, Visita, EventoAvverso e NotaSoggetto. Include diagramma ER, dizionario dei dati, schema JSON, playground API e un prompt Agente AI per un avvio rapido.

Risultati del trial

Questo modello ti offre un backend CRM per i soggetti dei trial clinici con classi User, Study, Subject, Screening, Visit, AdverseEvent e SubjectNote in modo che i coordinatori possano eseguire operazioni sui soggetti con meno follow-up manuali.

  1. Monitoraggio dello stato di screeningModella ogni soggetto e registro di screening in modo che i coordinatori possano vedere stati pendenti, superati, falliti o di riesame con screeningDate e note.
  2. Visibilità della programmazione delle visiteUtilizza Visit.visitType, scheduledAt, visitStatus, location e coordinator per mantenere le visite pianificate e le riprogrammazioni interrogabili.
  3. Registrazione degli eventi avversiCattura AdverseEvent.eventTerm, severity, serious, onsetDate, status e reportedBy per la revisione della sicurezza.
  4. Flusso di lavoro amico del coordinatoreSupporta il personale di studio con assegnazioni di Subject.coordinator, Screening.completedBy, Visit.coordinator e SubjectNote.author in un backend.
  5. Operazioni di prova multipiattaformaFornisci dashboard web, mobile e cliniche tramite un'unica REST e GraphQL API per soggetti, visite, note sulla sicurezza ed eventi avversi.

Cos'è il modello CRM per il soggetto della sperimentazione clinica?

La reportistica nel CRM per il soggetto della sperimentazione clinica dovrebbe rispondere alle domande della leadership senza una ricerca manuale tra cartelle e thread di messaggi. Raramente è un singolo bug — è deriva. Back4app ancorano le entità principali per le pratiche CRM del soggetto della sperimentazione clinica che necessitano di scadenze, documenti e comunicazioni in un'unica area di lavoro autorizzata. Lo schema copre i record di User, Study, Subject, Screening, Visit, AdverseEvent e SubjectNote con flussi di lavoro integrati di autenticazione e coscienza della sicurezza. Collega il tuo frontend preferito e spedisci più velocemente.

Migliore per:

App per operazioni di sperimentazione clinicaTracker di screening dei soggettiStrumenti di programmazione delle visiteSistemi di registrazione degli eventi avversiDashboard dei coordinatori cliniciTeam che scelgono BaaS per flussi di lavoro regolamentati

Panoramica del backend del CRM per i soggetti della sperimentazione clinica

I team CRM per i soggetti della sperimentazione clinica vincono quando il lavoro di routine è noioso: registrazioni prevedibili, ownership ovvia e avvisi prima che piccoli problemi diventino incidenti.

Rivedi prima il tracciamento dell'assegnazione dello studio, il registro dei soggetti, il flusso di lavoro di screening, quindi apri una scheda stack per vedere note specifiche SDK e modelli di integrazione.

Funzioni principali della sperimentazione clinica

Ogni scheda tecnologica in questo hub utilizza lo stesso schema backend per studi clinici con Utente, Studio, Soggetto, Screening, Visita, EventoAvverso e NotaSoggetto.

Tracciamento assegnazione studio

Lo studio archivia protocolloId, titolo, stato, investigatore principale e nome del sito.

Registro dei soggetti

Il soggetto memorizza subjectId, fullName, screeningStatus, studio, coordinatore, dob, sesso alla nascita e consentSignedAt.

Workflow di screening

I collegamenti di screening uniscono un soggetto, studio, stato di screening, data di screening, completato da e note.

Pianificazione delle visite

La visita cattura soggetto, studio, tipo di visita, programmato per, stato della visita, posizione e coordinatore.

Registrazione di eventi di sicurezza

AdverseEvent memorizza soggetto, studio, termine dell'evento, gravità, serio, data di inizio, stato e riportato da.

Perché costruire il tuo backend CRM per soggetti di sperimentazione clinica con Back4app?

Back4app ti offre primitive User, Study, Subject, Screening, Visit, AdverseEvent e SubjectNote in modo che i coordinatori possano concentrarsi sulle operazioni della sperimentazione anziché sul cablaggio dell'infrastruttura.

  • Flusso di screening e soggetti in uno schema: Le classi Subject e Screening mantengono subjectId, fullName, screeningStatus, screeningDate e completedBy in un unico posto.
  • I programmi delle visite rimangono interrogabili: I campi Visit e SubjectNote rendono facili da rivedere gli appuntamenti pianificati, le riconferme e i follow-up del personale.
  • La registrazione della sicurezza è esplicita: Le voci AdverseEvent con eventTerm, severity, serious, onsetDate, status e reportedBy supportano le linee temporali degli eventi revisionabili.

Costruisci un backend per sperimentazioni cliniche che mantiene allineati screening, visite, note ed eventi avversi tra i team.

Vantaggi dello studio

Un backend di studio clinico che aiuta i coordinatori a lavorare più rapidamente mantenendo le operazioni sui soggetti strutturate.

Avvio rapido dello studio

Inizia da uno schema completo di Utente, Studio, Soggetto, Screening, Visita, EventoAvverso e NotaSoggetto invece di mappare le tabelle dello studio da zero.

Stato di screening chiaro

Utilizza Subject.screeningStatus e Screening.screeningStatus per separare i casi in attesa, superati, falliti e rinviati a screening.

Coordinazione delle visite senza indovinare

Pianifica e riprogramma i record delle visite con visitType, scheduledAt, visitStatus e location in modo che il personale sappia cosa viene dopo.

Revisione della sicurezza

AdverseEvent.severity, serious, onsetDate, status, e reportedBy forniscono ai team di sicurezza una cronologia degli eventi leggibile.

Le note del soggetto rimangono collegate al registro

SubjectNote.noteType, noteText, author, e subject mantengono le note di chiamata, visita e screening collegate al giusto partecipante.

Flusso di lavoro bootstrap assistito da AI

Genera rapidamente strutture di backend e guida all'integrazione con un'unica richiesta strutturata.

Pronto a lanciare il tuo CRM per i soggetti della sperimentazione clinica?

Lascia che l'AI Agent di Back4app strutturi il backend del tuo CRM per i soggetti della sperimentazione clinica e generi flussi di lavoro per Utente, Studio, Soggetto, Screening, Visita, AdverseEvent e SubjectNote da un'unica richiesta.

Gratis per iniziare — 50 richieste di AI Agent al mese, senza necessità di carta di credito

Stack Tecnologico per Studi Clinici

Tutto incluso in questo template di backend per studi clinici.

Frontend
13+ tecnologie
Backend
Back4app
Database
MongoDB
Auth
Autenticazione e sessioni integrate
API
REST e GraphQL
In tempo reale
Live Queries

Mappa dello Schema Clinico

Modello di relazione tra entità per lo schema backend CRM del soggetto della sperimentazione clinica.

Visualizza sorgente del diagramma
Mermaid
erDiagram
    User ||--o{ Study : "principalInvestigator"
    User ||--o{ Subject : "coordinator"
    User ||--o{ Screening : "completedBy"
    User ||--o{ Visit : "coordinator"
    User ||--o{ AdverseEvent : "reportedBy"
    User ||--o{ SubjectNote : "author"
    Study ||--o{ Subject : "study"
    Study ||--o{ Screening : "study"
    Study ||--o{ Visit : "study"
    Study ||--o{ AdverseEvent : "study"
    Subject ||--o{ Screening : "subject"
    Subject ||--o{ Visit : "subject"
    Subject ||--o{ AdverseEvent : "subject"
    Subject ||--o{ SubjectNote : "subject"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String siteName
        Date createdAt
        Date updatedAt
    }

    Study {
        String objectId PK
        String protocolId
        String title
        String status
        String principalInvestigatorId FK
        String siteName
        Date createdAt
        Date updatedAt
    }

    Subject {
        String objectId PK
        String subjectId
        String fullName
        String screeningStatus
        String studyId FK
        String coordinatorId FK
        Date dob
        String sexAtBirth
        Date consentSignedAt
        Date createdAt
        Date updatedAt
    }

    Screening {
        String objectId PK
        String subjectId FK
        String studyId FK
        String screeningStatus
        Date screeningDate
        String completedById FK
        String notes
        Date createdAt
        Date updatedAt
    }

    Visit {
        String objectId PK
        String subjectId FK
        String studyId FK
        String visitType
        Date scheduledAt
        String visitStatus
        String location
        String coordinatorId FK
        Date createdAt
        Date updatedAt
    }

    AdverseEvent {
        String objectId PK
        String subjectId FK
        String studyId FK
        String eventTerm
        String severity
        Boolean serious
        Date onsetDate
        String status
        String reportedById FK
        Date createdAt
        Date updatedAt
    }

    SubjectNote {
        String objectId PK
        String subjectId FK
        String authorId FK
        String noteType
        String noteText
        Date createdAt
        Date updatedAt
    }

Flusso di integrazione clinica

Flusso di runtime tipico per accesso utente, screening del soggetto, programmazione della visita, inserimento della NotaSoggetto e registrazione dellEventoAvverso.

Visualizza sorgente del diagramma
Mermaid
sequenceDiagram
  participant User
  participant App as Clinical Trial Subject CRM App
  participant Back4app as Back4app Cloud

  User->>App: Sign in
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open screening queue
  App->>Back4app: GET /classes/Screening?include=subject,study&order=-screeningDate
  Back4app-->>App: Screening rows with subjectId and screeningStatus

  User->>App: Add a visit schedule
  App->>Back4app: POST /classes/Visit
  Back4app-->>App: Visit objectId and scheduledAt

  User->>App: Log an adverse event
  App->>Back4app: POST /classes/AdverseEvent
  Back4app-->>App: AdverseEvent objectId and status

  App->>Back4app: Subscribe to live updates for Visit and AdverseEvent
  Back4app-->>App: Real-time subject activity

Guida di Campo

Riferimento completo a livello di campo per ogni classe nello schema della sperimentazione clinica.

CampoTipoDescrizioneRichiesto
objectIdStringAuto-generated unique identifierAuto
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user, such as coordinator, investigator, or sponsor
siteNameStringClinical site or clinic name
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 campi in User

Controlli di Accesso Clinico

Come la strategia ACL e CLP protegge studi, soggetti, visite, note sui soggetti e registri degli eventi avversi.

Accesso limitato al coordinatore

Solo il personale approvato per la sperimentazione può creare o modificare registrazioni di Soggetto, Screening, Visita, EventoAvverso e NotaSoggetto.

Separazione dei dati a livello di sito

Utilizza la proprietà dello studio e query basate su puntatori affinché i team vedano solo i soggetti assegnati al loro sito.

Integrità del registro di sicurezza

Le voci di EventoAvverso devono essere scritte con restrizioni e validate nel Cloud Code prima di arrivare alla revisione.

Schema JSON

Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata come riferimento di implementazione.

JSON
{
  "classes": [
    {
      "className": "User",
      "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
        },
        "siteName": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Study",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "protocolId": {
          "type": "String",
          "required": true
        },
        "title": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "principalInvestigator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "siteName": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Subject",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subjectId": {
          "type": "String",
          "required": true
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "screeningStatus": {
          "type": "String",
          "required": true
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "coordinator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "dob": {
          "type": "Date",
          "required": false
        },
        "sexAtBirth": {
          "type": "String",
          "required": false
        },
        "consentSignedAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Screening",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "screeningStatus": {
          "type": "String",
          "required": true
        },
        "screeningDate": {
          "type": "Date",
          "required": true
        },
        "completedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Visit",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "visitType": {
          "type": "String",
          "required": true
        },
        "scheduledAt": {
          "type": "Date",
          "required": true
        },
        "visitStatus": {
          "type": "String",
          "required": true
        },
        "location": {
          "type": "String",
          "required": false
        },
        "coordinator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AdverseEvent",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "eventTerm": {
          "type": "String",
          "required": true
        },
        "severity": {
          "type": "String",
          "required": true
        },
        "serious": {
          "type": "Boolean",
          "required": true
        },
        "onsetDate": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "reportedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SubjectNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "author": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "noteType": {
          "type": "String",
          "required": true
        },
        "noteText": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Costruisci con AI Agent

Usa l'agente AI di Back4app per generare un'app CRM per i soggetti di sperimentazione clinica partendo da questo modello, inclusi frontend, backend, autenticazione e flussi di screening, visita, nota e sicurezza.

Back4app Agente AI
Pronto per costruire
Crea un backend sicuro CRM per soggetti di sperimentazione clinica su Back4app con questo schema e comportamento esatti.

Schema:
1. Utente (usa quello integrato di Back4app): nome utente, email, password, ruolo, nomeSito; objectId, createdAt, updatedAt (sistema).
2. Studio: protocolId (String, richiesto), titolo (String, richiesto), stato (String, richiesto), ricercatorePrincipale (Puntatore a Utente, richiesto), nomeSito (String, richiesto); objectId, createdAt, updatedAt (sistema).
3. Soggetto: subjectId (String, richiesto), nomeCompleto (String, richiesto), statoScreening (String, richiesto), studio (Puntatore a Studio, richiesto), coordinatore (Puntatore a Utente, richiesto), dob, sessoAllaNascita, consensoFirmatoAt; objectId, createdAt, updatedAt (sistema).
4. Screening: soggetto (Puntatore a Soggetto, richiesto), studio (Puntatore a Studio, richiesto), statoScreening (String, richiesto), dataScreening (Data, richiesta), completatoDa (Puntatore a Utente, richiesto), note (String); objectId, createdAt, updatedAt (sistema).
5. Visita: soggetto (Puntatore a Soggetto, richiesto), studio (Puntatore a Studio, richiesto), tipoVisita (String, richiesto), programmataAt (Data, richiesta), statoVisita (String, richiesto), posizione (String), coordinatore (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema).
6. EventoAvverso: soggetto (Puntatore a Soggetto, richiesto), studio (Puntatore a Studio, richiesto), termineEvento (String, richiesto), gravità (String, richiesto), grave (Boolean, richiesto), dataInizio (Data, richiesta), stato (String, richiesto), riportatoDa (Puntatore a Utente, richiesto); objectId, createdAt, updatedAt (sistema).
7. NotaSoggetto: soggetto (Puntatore a Soggetto, richiesto), autore (Puntatore a Utente, richiesto), tipoNota (String, richiesto), testoNota (String, richiesto); objectId, createdAt, updatedAt (sistema).

Sicurezza:
- Mantieni le liste dei soggetti limitate al personale autenticato.
- Permetti ai coordinatori di modificare Soggetti e Visite per il loro sito.
- Limita l'inserimento di EventoAvverso agli utenti autenticati con ruoli di coordinatore o ricercatore.
- Usa ACL e CLP in modo che stato di screening, programmi di visita, note sui soggetti e registri di eventi avversi siano protetti dall'accesso pubblico.

Autenticazione:
- Registrazione, accesso, disconnessione.

Comportamento:
- Monitora la coda di screening, assegnazione dei soggetti, programmi di visita, registri di eventi avversi e note sui soggetti.
- Supporta le query filtrate per studio, statoScreening, statoVisita e eventi avversi gravi.

Consegna:
- App Back4app con schema, ACL, CLP; frontend per cruscotti di screening, pianificazione visite, report degli eventi avversi e note sui soggetti.

Premi il pulsante qui sotto per aprire l'agente con questo prompt del modello pre-compilato.

Questo è il prompt base senza un suffisso tecnologico. Puoi adattare successivamente il stack frontend generato.

Distribuisci in pochi minuti50 prompt gratuiti / meseNessuna carta di credito richiesta

API Sandbox

Prova gli endpoint REST e GraphQL contro lo schema dello studio clinico. Le risposte utilizzano dati fittizi e non richiedono un account Back4app.

Caricamento playground…

Utilizza lo stesso schema di questo modello.

Scegli il tuo Stack

Espandi ogni scheda per vedere come integrare Studio, Soggetto e Screening con il tuo stack scelto.

Flutter CRM Backend per Soggetti di Studi Clinici

React CRM Backend per Soggetti di Studi Clinici

React nativo CRM Backend per Soggetti di Studi Clinici

Next.js CRM Backend per Soggetti di Studi Clinici

JavaScript CRM Backend per Soggetti di Studi Clinici

Android CRM Backend per Soggetti di Studi Clinici

iOS CRM Backend per Soggetti di Studi Clinici

Vue CRM Backend per Soggetti di Studi Clinici

Angular CRM Backend per Soggetti di Studi Clinici

GraphQL CRM Backend per Soggetti di Studi Clinici

REST API CRM Backend per Soggetti di Studi Clinici

PHP CRM Backend per Soggetti di Studi Clinici

.NET CRM Backend per Soggetti di Studi Clinici

Cosa ottieni con ogni tecnologia

Ogni stack utilizza lo stesso schema di backend per le sperimentazioni cliniche e contratti API.

Struttura dei dati unificata per le operazioni di sperimentazione

Gestisci facilmente i record di Utente, Studio, Soggetto, Screening, Visita, EventoAvverso e NotaSoggetto con uno schema coerente.

Controllo dello stato di screening per i team di sperimentazione

Monitora i traguardi di idoneità e iscrizione con campi Soggetto espliciti.

Pianificazione delle visite per i coordinatori

Coordina visite pianificate, completate, perse o annullate in un unico posto.

Registrazione degli eventi di sicurezza per i flussi di lavoro clinici

Registra eventi avversi con gravità e stato di follow-up.

Confronto dello Stack Clinico

Confronta la velocità di configurazione, lo stile dell'SDK e il supporto AI tra tutte le tecnologie supportate.

FrameworkTempo di ConfigurazioneVantaggio della Sperimentazione ClinicaTipo di SDKSupporto AI
Circa 5 minCodice sorgente unico per app coordinatore su mobile e web.SDK TipizzatoCompleto
Meno di 5 minutiDashboard web veloce per screening e pianificazione delle visite.SDK tipizzatoCompleto
~3–7 minApp mobile multipiattaforma per il personale del sito.SDK tipizzatoCompleto
Impostazione rapida (5 min)Dashboard delle operazioni cliniche renderizzata dal server.SDK tipizzatoCompleto
~3-5 minIntegrazione web leggera per operazioni di prova.SDK digitatoCompleto
Circa 5 minApp nativa Android per coordinatori.SDK digitatoCompleto
Meno di 5 minutiApp nativa iOS per revisione visite e sicurezza.SDK digitatoCompleto
~3-7 minInterfaccia web Reactive per il tracciamento dei soggetti.Typed SDKCompleto
Configurazione rapida (5 min)Dashboard aziendale per team clinici.Typed SDKCompleto
Meno di 2 minAPI GraphQL flessibile per query di trial nidificate.API GraphQLCompleto
Configurazione veloce (2 min) integrazione REST API per operazioni cliniche.REST APICompleto
~3 minIntegrazione PHP lato server per strumenti di coordinamento.REST APICompleto
~3–7 minbackend .NET per app di workflow regolamentate.SDK tipizzatoCompleto

Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query su un soggetto o visita utilizzando questo schema di template.

Domande frequenti sulle sperimentazioni cliniche

Domande comuni sulla costruzione di un backend CRM per i soggetti delle sperimentazioni cliniche con questo modello.

Come fanno le pratiche CRM dei soggetti clinici a mantenere alta la qualità dell'assunzione man mano che il volume cresce?
Come dovrebbero i team CRM dei soggetti clinici modellare clienti, questioni e passaggi interni senza ambiguità?
Possiamo integrare e-sign o archiviazione documenti senza frammentare il record CRM del soggetto clinico?
Come faccio a interrogare i soggetti e le visite con Flutter?
Come gestisco l'accesso CRM ai soggetti della sperimentazione clinica con Next.js Server Actions?
Può React Native memorizzare offline eventi avversi?
Come posso prevenire l'accesso non autorizzato ai dati dei soggetti?
Qual è il modo migliore per mostrare le operazioni della sperimentazione su Android?
Come funziona il flusso di screening per visita end-to-end?

Fidato da sviluppatori in tutto il mondo

Unisciti ai team che consegnano prodotti CRM per Soggetti di Sperimentazioni Cliniche più rapidamente con i modelli Back4app

G2 Users Love Us Badge

Pronto a costruire la tua app CRM per Soggetti di Sperimentazioni Cliniche?

Avvia il tuo progetto di sperimentazione clinica in pochi minuti. Nessuna carta di credito richiesta.

Scegli Tecnologie