Hi. I’ve just started using SmartGWT. I’ve got a problem. I’m using opensource version. On the server side I’ve got big object which I must edit. The view will contain large form with tabs, tables etc. I just don’t know how to start
- how to send this object to client and populate fields with values from that object, and on the other hand how to send values from all fields, tables in one request back to server. Below is xsd for the object (java objects were created by jaxb from this xsd). Any suggestions? What are the best practices to edit such an object?
<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid XML Studio - FREE Community Edition 7.0.2.746 (http://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="ICD10">
<xs:attribute name="ICD10Code" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3" />
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:attributeGroup name="NFZProcAttributes">
<xs:attribute name="StartDate" type="xs:dateTime" use="optional" />
<xs:attribute name="EndDate" type="xs:dateTime" use="optional" />
<xs:attribute name="ServiceIDHIS" />
</xs:attributeGroup>
<xs:element name="NFZProcData">
<xs:complexType>
<xs:attribute name="ContractNumber" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="17" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ContractCode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="14" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="UnitCode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="15" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRG" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PointValue" use="optional">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Multiplicity" use="optional">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MultiplicityKindCode" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="NFZProcedure">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="NFZProcData" />
</xs:sequence>
<xs:attributeGroup ref="NFZProcAttributes" />
</xs:complexType>
</xs:element>
<xs:complexType name="NFZProcedures">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="NFZProcedure" />
</xs:sequence>
</xs:complexType>
<xs:element name="Transaction">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="SystemData">
<xs:complexType>
<xs:attribute name="SystemID" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="38" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SystemName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="MessageData">
<xs:complexType>
<xs:attribute name="MessageType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DRG" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Version" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="TransactionData">
<xs:complexType>
<xs:attribute name="TransactionID" type="xs:integer" use="required" />
<xs:attribute name="GenerationDateTime" type="xs:dateTime" use="required" />
<xs:attribute name="RequestID" type="xs:integer" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="MainServices">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="MainService">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Patient">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="PersonalData">
<xs:complexType>
<xs:attribute name="Sex" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DateOfBirth" type="xs:dateTime" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Admission">
<xs:complexType>
<xs:attribute name="AdmissionMode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
<xs:enumeration value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Discharge">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="DischargeCoexistingDiagnosis">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="5" name="CoexistingICD10" type="ICD10" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="DischargeMode" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
<xs:enumeration value="4" />
<xs:enumeration value="5" />
<xs:enumeration value="6" />
<xs:enumeration value="9" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DischargeICD10" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3" />
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="DRGRequest">
<xs:complexType>
<xs:attribute name="MultiplicityKindCode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="UJ1" />
<xs:enumeration value="UJ2" />
<xs:enumeration value="UJ3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="BasicServices">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="BasicService">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Unit">
<xs:complexType>
<xs:attribute name="OrgUnitIDHIS" type="xs:integer" use="optional" />
<xs:attribute name="OrgUnitName" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Diagnosis">
<xs:complexType>
<xs:attribute name="MainICD10" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
<xs:minLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CoexistingICD101" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CoexistingICD102" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CoexistingICD103" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Leaves">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Leave">
<xs:complexType>
<xs:attribute name="LeaveNumber" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:maxInclusive value="999" />
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LeaveStartDate" type="xs:dateTime" use="required" />
<xs:attribute name="LeaveEndDate" type="xs:dateTime" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ICD9Procedures">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ICD9Procedure">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ICD9ProcData">
<xs:complexType>
<xs:attribute name="ICD9Code" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="8" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ICD9Multiplicity" type="xs:integer" use="optional" />
<xs:attribute name="ICD9Date" type="xs:date" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ServiceIDHIS" type="xs:integer" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="NFZProcedures" type="NFZProcedures" />
<xs:element minOccurs="1" maxOccurs="1" name="DRGDetailResult">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DRGAssigned">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" ref="NFZProcedure" />
</xs:sequence>
<xs:attribute name="DRG" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="512" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGBasePointValue" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGPointValue" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="IsMainDRG" use="required">
<xs:simpleType>
<xs:restriction base="xs:boolean" />
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DRGRejected">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" ref="NFZProcedure" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="ReasonOfRejectionDescs">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ReasonOfRejectionDesc">
<xs:complexType>
<xs:attribute name="Kind" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Details" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Description" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="512" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="DRG" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="512" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGBasePointValue" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGPointValue" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Rejected" use="required">
<xs:simpleType>
<xs:restriction base="xs:boolean" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NotContracted" use="required">
<xs:simpleType>
<xs:restriction base="xs:boolean" />
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="OperationResult" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ServiceIDHIS" type="xs:integer" use="required" />
<xs:attribute name="StartDate" type="xs:dateTime" use="required" />
<xs:attribute name="EndDate" type="xs:dateTime" use="required" />
<xs:attribute name="ServiceKindNFZ" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="DRGResult">
<xs:complexType>
<xs:attribute name="OperationResult" type="xs:integer" use="required" />
<xs:attribute name="ErrorDesc" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRG" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGName" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="512" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DRGGrouperVersion" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ServiceIDHIS" type="xs:integer" use="optional" />
<xs:attribute name="ServiceKind" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A" />
<xs:enumeration value="S" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Characteristics" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="StartDate" type="xs:dateTime" use="required" />
<xs:attribute name="EndDate" type="xs:dateTime" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>