Eforms it

From CaisisWiki

(Difference between revisions)
Jump to: navigation, search
(Come configurare una Eform)
 
(3 intermediate revisions not shown)
Line 1: Line 1:
 +
Traduzione a cura di Andrea Fraietta
 +
 +
 +
== Eform Overview ==
== Eform Overview ==
Line 54: Line 58:
'''(C)''' I nodi-figli della eformSection, eformItems sono i form che saranno contenuti in questa sezione. Il valore dell`attributo displayName=”” sara` visualizzato sotto alla sezione nella parte sinistra. Il valore dell`attributo controlName=”” e` importante. E` il nome del file fisico con estensione .ascx che deve apparire in questa sezione dell`eform. Deve corrispondere esattamente al nome del controllo .ascx contenuto in una qualsiasi cartella Modules/SomeDisease/Eforms. Per esempio, nell`esempio sopra riportato il controlName=”LabTestPSA” richiamera` il form LabTestPSA.ascx form in questa eform.
'''(C)''' I nodi-figli della eformSection, eformItems sono i form che saranno contenuti in questa sezione. Il valore dell`attributo displayName=”” sara` visualizzato sotto alla sezione nella parte sinistra. Il valore dell`attributo controlName=”” e` importante. E` il nome del file fisico con estensione .ascx che deve apparire in questa sezione dell`eform. Deve corrispondere esattamente al nome del controllo .ascx contenuto in una qualsiasi cartella Modules/SomeDisease/Eforms. Per esempio, nell`esempio sopra riportato il controlName=”LabTestPSA” richiamera` il form LabTestPSA.ascx form in questa eform.
-
'''(D)''' These are the nodes that hold the data as the eform is submitted. The node structure must match the database tables exactly. It is not necessary to include all the columns of a table, but the parent node must match the table name and any child node used must match a column name. As in this example with Medication, if multiple records for a table are being stored, a RecordId=”” attribute must be used which matches an attribute in the respective .ascx control.  In this case, if you open the Medications.ascx file found in the Modules/All/Eforms folder you will find a series of eform input controls with RecordId=”” properties.  
+
'''(D)''' Questi sono i nodi che contengono i dati nel momento in cui l`eform viene inviato. La struttura del nodo deve corrispondere esattamente alle tabelle del database esistente. Non e` necessario includere tutte le colonne di una tabella, ma il nodo-padre deve corrispondere al nome della tabella ed ogni nodo-figlio utilizzato deve corrispondere alla nome della colonna. Come in questo esempio con Medication, se devono essere salvati piu` record per una tabella, un attributo RecordId=”” deve essere utilizzato in aderenza al corrispondete controllo .ascx.  In questo caso, se apri il file Medications.ascx nella cartella Modules/All/Eforms troverai una serie di controlli di input per l`eform con le proprieta` del RecordId=””.  
-
'''(E)''' As mentioned in (D), although not all table columns need to be listed, if a child node is present it must match the name of the table column exactly. Allowable attributes for child nodes are:
+
'''(E)''' Come indicato in (D), sebbene non sia necessario riportare tutte le colonne di una tabella, se viene specificato un nodo-figlio questo deve corrispondere esattamente alla colonna della tabella del database. Gli attributi consentiti per i nodi-figli sono:
-
• Required=”True” : A Required attribute will prevent a user from going past the data entry step without providing a value.
+
• Required=”True” : l`attributo obbligatorio evitera` che l`utente esca dal data entry senza indicare un valore.
-
• NotNull=”True” :  A NotNull attribute requires that a value is present only when other fields of this record have a value. Typically used with a field that is non nullable in your database.
+
• NotNull=”True” :  l`attributo NotNull richiedera` una valorizzazione del campo solo se altri campi di questo record sono stati valorizzati. Tipicamente da usarsi per campi definiti not null nel database.
-
In the example provided, the Medication has a NotNull attribute which will prevent users from going past the data entry step without providing a Medication value only when other values for this record are present.  
+
Nell`esempio fornito, Medication ha un attributo NotNull che evitera` che l`utente esca dal data entry senza fornire una valore a Medication qualora altri valori per questo record siano stati indicati.
-
The system was structured so that all eform data is stored in a temporary state prior to eform approval. This temporary state is an XML string which in is stored in the EFormXml field of the Eforms table. When the eform is approved, this XML string is parsed and the data is inserted into the respective Caisis tables.   
+
Il sistema e` stato strutturato in modo tale che tutti i dati dell`eform vengano memorizzati in uno stato provvisorio prima dell`approvazione definitiva dell`eform. Questo stato provvisorio e` una stringa XML che e` memorizzata nel campo EFormXml della tabella Eforms. Quando l`eform viene approvata, questa stringa XML viene riconosciuta e i dati inseriti nelle corrispondenti tabelle Caisis.   
-
You may also find times where you would like to collect information, but there is no table/field in Caisis for this data. For this scenario, we provided a <NoTable> node. Under the NoTable node you can create child nodes that have no matching Caisis database fields. On approval, this data will be inserted in the field of the table specified in the PutDataInTable="" PutDataInField="" attributes. At MSK, we typically put this data in the “Encounters” table, “Notes” field.  
+
Ti potrebbe capitare di voler registrare informazioni, ma nelle tabelle e campi di Caisis non sono previsti i corrispondenti campi. In questo caso, puoi utilizzare il nodo <NoTable>. Sotto al nodo NoTable puoi creare nodi-figli che non hanno una corrispondenza con i campi del database Caisis. Al momento dell`approvazione, questi dati saranno inseriti nei campi e nella tabella specificati negli attributi PutDataInTable="" e PutDataInField="". Al MSK, utilizziamo questa tecnica per memorizzare questi dati nel campo “Notes” della tabella “Encounters”.  
-
You may create your eform from existing components(.ascx files), or you may create your own components. Part II of this document will discuss creating your own eform components.  
+
Puoi creare una eform da componenti (.ascx file) esistenti, oppure puoi creare la tua componente. Nella seconda parte di questo documento spiegheremo come creare una tua componente per un`eform.  
-
In version 4.0, to register your new eform add a reference to it in the App_Config/EformRegistry.xml file.
+
Nella versione 4.0, per registrare la tua nuova eform devi aggiungere un riferimento nel file App_Config/EformRegistry.xml file.
-
'''Creating the .xsl stylesheet for the paper form view of entered data:'''
+
'''Creare il foglio di stile .xsl per la stampa dei dati inseriti:'''
-
After the data entry step, in the second “Review Data” step, the data just entered is presented in a format similar to a paper form. Fields can be edited via a pop up window on click. This “paper like” view of the data is generated by creating an .xslt stylesheet to transform your xml data. This step is optional. By default the system will generate a bullet point list of the fields you entered that does not resemble paper. If you would like to use a stylesheet, we recommend reusing code from existing .xslt files to minimize the amount of development time.   
+
Dopo la definizione del data entry, il secondo passo “Review Data”, il dato appena inserito viene presentato in formato simile a come viene stampato. I campi possono essere modificati da una finestra di pop-up che appare cliccandoci sopra.
 +
Questa vista “simile alla stampa” dei dati viene generata da un foglio di stile .xslt che trasforma il dato xml. Questa fase e` opzionale. Per default il sistema genera un punto elenco dei campi inseriti. Se preferisci usare un foglio di stile, raccomandiamo di riusare il codice esistente nei file .xslt in modo da ridurre il tempo di sviluppo.   
-
Please note, in future releases we will provide the option to hide the “Review Data” step. The eform could then more easily be used as just a consolidated interface to simplify common data entry.
+
Tieni presente che nelle prossime release forniremo un`opzione per nascondere il bottone “Review Data”. L`eform in questo modo potra` essere utilizzata giusto come un modo gia` consolidato per semplificare il data entry.

Current revision as of 09:20, 15 September 2008

Traduzione a cura di Andrea Fraietta


Eform Overview

Come configurare una Eform

1. Aggiungi il file Xml che contiene le definizioni dei componenti della tua eform nella cartella “Eforms” del corretto modulo di malattia.

Il seguente esempio crea una eform con una sezione, e due form all`interno di essa: medicazioni e test di laboratorio. L`interfaccia consentira` l`inserimento di tre record di medicazioni e di un record di test di laboratorio. Le notazioni in lettera (ad esempio (A) ) non fanno parte dell`eform, ma sono rimandi alle note per spiegare ogni sezione con maggiore dettaglio piu` avanti.


   <?xml version="1.0" encoding="utf-8" ?>		
   <eform name="GU Pros FU" displayName="GU Prostate Follow Up">(A)
       <eformSection name="Presenting Details">(B)
           <eformItem displayName="Meds" controlName="Medications"></eformItem>(C)
           <eformItem displayName="PSA Lab Test"controlName="LabTestPSA"></eformItem>
       </eformSection>
           
       <Medications RecordId='1'>(D)
           <Medication NotNull="True"></Medication>(E)
           <MedDose></MedDose>
           <MedUnits></MedUnits>
           <MedSchedule></MedSchedule>
       </Medications>
       <Medications RecordId='2'>
           <Medication NotNull="True"></Medication>
           <MedDose></MedDose>
           <MedUnits></MedUnits>
           <MedSchedule></MedSchedule>
       </Medications>
       <Medications RecordId='3'>
           <Medication NotNull="True"></Medication>
           <MedDose></MedDose>
           <MedUnits></MedUnits>
           <MedSchedule></MedSchedule>
       </Medications>
           
       <LabTests>(F)
           <LabDate></LabDate>
           <LabDateText></LabDateText>
           <LabTest NotNull="True"></LabTest>
           <LabResult></LabResult>
           <LabUnits></LabUnits>
           <LabQuality></LabQuality>
       </LabTests>	 
   </eform>


(A) L`attributo name=”” deve corrispondere al nome del file fisico, ma puo` contenere spazi. Per esempio, se il file fisico e` denominato GUProsFU.xml, il name puo` essere ”GU Pros FU”. Il valore dell`attributo displayName=”” corrispondera` al titolo visualizzato dall`interfaccia per questa eform..

(B) eformSection e` il gruppo di form che appariranno assieme nell`interfaccia. Il valore dell`attributo name=”” corrispondera` al titolo del gruppo che apparira` nella parte sinistra dell`eform.

(C) I nodi-figli della eformSection, eformItems sono i form che saranno contenuti in questa sezione. Il valore dell`attributo displayName=”” sara` visualizzato sotto alla sezione nella parte sinistra. Il valore dell`attributo controlName=”” e` importante. E` il nome del file fisico con estensione .ascx che deve apparire in questa sezione dell`eform. Deve corrispondere esattamente al nome del controllo .ascx contenuto in una qualsiasi cartella Modules/SomeDisease/Eforms. Per esempio, nell`esempio sopra riportato il controlName=”LabTestPSA” richiamera` il form LabTestPSA.ascx form in questa eform.

(D) Questi sono i nodi che contengono i dati nel momento in cui l`eform viene inviato. La struttura del nodo deve corrispondere esattamente alle tabelle del database esistente. Non e` necessario includere tutte le colonne di una tabella, ma il nodo-padre deve corrispondere al nome della tabella ed ogni nodo-figlio utilizzato deve corrispondere alla nome della colonna. Come in questo esempio con Medication, se devono essere salvati piu` record per una tabella, un attributo RecordId=”” deve essere utilizzato in aderenza al corrispondete controllo .ascx. In questo caso, se apri il file Medications.ascx nella cartella Modules/All/Eforms troverai una serie di controlli di input per l`eform con le proprieta` del RecordId=””.

(E) Come indicato in (D), sebbene non sia necessario riportare tutte le colonne di una tabella, se viene specificato un nodo-figlio questo deve corrispondere esattamente alla colonna della tabella del database. Gli attributi consentiti per i nodi-figli sono: • Required=”True” : l`attributo obbligatorio evitera` che l`utente esca dal data entry senza indicare un valore. • NotNull=”True” : l`attributo NotNull richiedera` una valorizzazione del campo solo se altri campi di questo record sono stati valorizzati. Tipicamente da usarsi per campi definiti not null nel database.

Nell`esempio fornito, Medication ha un attributo NotNull che evitera` che l`utente esca dal data entry senza fornire una valore a Medication qualora altri valori per questo record siano stati indicati.

Il sistema e` stato strutturato in modo tale che tutti i dati dell`eform vengano memorizzati in uno stato provvisorio prima dell`approvazione definitiva dell`eform. Questo stato provvisorio e` una stringa XML che e` memorizzata nel campo EFormXml della tabella Eforms. Quando l`eform viene approvata, questa stringa XML viene riconosciuta e i dati inseriti nelle corrispondenti tabelle Caisis.

Ti potrebbe capitare di voler registrare informazioni, ma nelle tabelle e campi di Caisis non sono previsti i corrispondenti campi. In questo caso, puoi utilizzare il nodo <NoTable>. Sotto al nodo NoTable puoi creare nodi-figli che non hanno una corrispondenza con i campi del database Caisis. Al momento dell`approvazione, questi dati saranno inseriti nei campi e nella tabella specificati negli attributi PutDataInTable="" e PutDataInField="". Al MSK, utilizziamo questa tecnica per memorizzare questi dati nel campo “Notes” della tabella “Encounters”.

Puoi creare una eform da componenti (.ascx file) esistenti, oppure puoi creare la tua componente. Nella seconda parte di questo documento spiegheremo come creare una tua componente per un`eform.

Nella versione 4.0, per registrare la tua nuova eform devi aggiungere un riferimento nel file App_Config/EformRegistry.xml file.

Creare il foglio di stile .xsl per la stampa dei dati inseriti: Dopo la definizione del data entry, il secondo passo “Review Data”, il dato appena inserito viene presentato in formato simile a come viene stampato. I campi possono essere modificati da una finestra di pop-up che appare cliccandoci sopra. Questa vista “simile alla stampa” dei dati viene generata da un foglio di stile .xslt che trasforma il dato xml. Questa fase e` opzionale. Per default il sistema genera un punto elenco dei campi inseriti. Se preferisci usare un foglio di stile, raccomandiamo di riusare il codice esistente nei file .xslt in modo da ridurre il tempo di sviluppo.

Tieni presente che nelle prossime release forniremo un`opzione per nascondere il bottone “Review Data”. L`eform in questo modo potra` essere utilizzata giusto come un modo gia` consolidato per semplificare il data entry.

Personal tools