Skrivskyddade fält i rtSurvey låter dig visa information som inte kan redigeras av respondenten. Den här funktionen är särskilt användbar för att visa förhandsifyllda data, beräknade resultat eller information som bör förbli konstant under hela undersökningen.

Grundläggande användning

För att göra ett fält skrivskyddat, använd kolumnen read_only i ditt XLSForm:

  | type    | name | label                 | read_only | default |
|---------|------|----------------------|-----------|---------|
| integer | num  | Patientnummer är:     | yes       | 5       |
  

I det här exemplet är patientnumret satt till 5 och kan inte ändras av respondenten.

Kombinera skrivskydd med standardvärden

Skrivskyddade fält används ofta tillsammans med standardvärden för att visa förutbestämd eller beräknad information:

  | type    | name     | label               | read_only | default        |
|---------|----------|---------------------|-----------|----------------|
| text    | username | Inloggad användare: | yes       | ${current_user}|
| date    | today    | Dagens datum:       | yes       | today()        |
  

Här visas användarnamnet och det aktuella datumet men kan inte redigeras.

rtSurvey-specifika funktioner

Villkorligt skrivskydd

rtSurvey utökar skrivskyddsfunktionaliteten med villkorlig logik:

  | type    | name     | label           | read_only                |
|---------|----------|-----------------|--------------------------|
| integer | age      | Ålder:          | ${role} = 'viewer'       |
| text    | comments | Kommentarer:    | selected(${status}, 'closed') |
  

I dessa exempel:

  • Fältet ‘age’ är skrivskyddat bara om användarens roll är ‘viewer’.
  • Fältet ‘comments’ blir skrivskyddat om statusen är ‘closed’.

Dynamisk skrivskyddsstatus

rtSurvey låter dig ändra skrivskyddsstatusen dynamiskt:

  | type      | name     | label    | read_only              |
|-----------|----------|----------| ----------------------|
| text      | address  | Adress:  | ${edit_mode} = 'false' |
  

Detta gör det möjligt att växla mellan redigerbara och skrivskyddade lägen baserat på vissa villkor eller användaråtgärder.

Bästa praxis för skrivskyddade fält

  1. Tydlighet: Indikera tydligt vilka fält som är skrivskyddade via visuella ledtrådar eller etiketter.
  2. Konsekvens: Använd skrivskyddade fält konsekvent i hela din undersökning.
  3. Validering: Även om skrivskyddade fält inte kan redigeras, inkludera dem i din datavalideringsprocess.
  4. Prestanda: Var försiktig med komplexa beräkningar i skrivskyddade fält, eftersom de kan påverka formulärladdningstiden.
  5. Tillgänglighet: Se till att skrivskyddade fält är korrekt markerade för skärmläsare.

Avancerade tekniker

Beräknade skrivskyddade fält

Använd skrivskyddade fält för att visa beräkningar baserade på andra svar:

  | type      | name     | label           | read_only | calculation            |
|-----------|----------|-----------------|-----------|------------------------|
| calculate | bmi      | BMI:            | yes       | ${weight} / (${height} * ${height}) |
  

Visa historiska data

Skrivskyddade fält kan visa data från tidigare undersökningar eller externa källor:

  | type    | name           | label                  | read_only | default                    |
|---------|----------------|------------------------|-----------|----------------------------|
| text    | last_visit_date| Datum för senaste besök: | yes     | ${pulldata('visits', 'date', 'id', ${patient_id})} |
  

Hantering av data

  • Skrivskyddade fält inkluderas i dataexporter, vanligtvis med en flagga som anger deras skrivskyddsstatus.
  • Vid uppdatering av befintliga poster bevarar skrivskyddade fält sina ursprungliga värden om de inte uttryckligen skrivs över via backend.

Mobilappens beteende

  • rtSurvey-mobilappen respekterar skrivskyddsinställningar, inklusive villkorlig skrivskyddslogik.
  • Offlineläge stöder fullt ut skrivskyddsfunktionalitet, inklusive dynamiska och beräknade skrivskyddsfält.

Kända begränsningar

  • Vissa komplexa dynamiska skrivskyddsvillkor kan ha en liten prestandapåverkan på lågspecificerade enheter.
  • Skrivskyddade fält kanske inte förhindrar alla former av datamanipulering i exporterade datafiler, så serversidesvalidering rekommenderas för kritiska data.

Felsökning av skrivskyddade fält

  1. Fältet är oväntat redigerbart: Kontrollera om det finns syntaxfel i kolumnen read_only eller i villkorlig logik.
  2. Beräknade värden uppdateras inte: Verifiera beräkningslogiken och se till att alla refererade fält är korrekt namngivna.
  3. Prestandaproblem: Optimera komplexa beräkningar eller överväg alternativa metoder för att visa skrivskyddade data.
Var den här sidan hjälpsam?