== Solutions Guide: XML Format and Parameters == The Fitting Guide file (data\fittingguide.xml) provides an automated way to adjust parameters based on proven adjustment settings, thus saving a lot of time, and getting consistent results. These settings are stored in an XML format, so that it can be easily adjusted or edited if necessary. Each file can contain several products (circuits) and their respective settings. Following are the different formats to express the different settings providing the information that the software uses for fitting hearing instruments. === Basic Structure === Sample File Structure:
Sample File Structure |
---|
<?xml version="1.0" encoding="UTF-8"?> <PROJECT> <CIRCUIT Code="circuitcode" Title="Instrument Model: intrument model"> <ISSUES Title="Subtitle 1"> <ISSUE Title="Subtitle A of Subtitle 1 "> <ADJUSTMENTS Code="circuitcode Adjustments Set I"> <ADJUSTMENT Row="0" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> <ISSUE Title="Subtitle B of Subtitle 1 "> <ADJUSTMENTS Code="circuitcode Adjustments Set II"> <ADJUSTMENT Row="1" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> <ISSUES Title="Subtitle 2"> <ISSUE Title="Subtitle A of Subtitle 2"> <ADJUSTMENTS Code="circuitcode Adjustments Set III"> <ADJUSTMENT Row="0" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> </CIRCUIT> </PROJECT> |
Element | Attribute | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
<PROJECT>...</PROJECT> | Container for all circuits. It is the main file definition, the parent container for all elements. | |||||||||||||||||
<CIRCUIT>...</CIRCUIT> | Container for a circuit definition, the parent container for <ISSUES> and/or <ISSUE> elements. | |||||||||||||||||
Code="CircuitCode" | Code of circuit. This identifies and differentiates adjustments that might have the same name. | |||||||||||||||||
Title="InstrumentModel" | Name or title (to be displayed) for the circuit | |||||||||||||||||
<ISSUES>...</ISSUES> | Title="subtitle" | Container for several issues. Required only if defining 2 or more issues. For a single issue, simply use element <ISSUE> directly, without defining it within <ISSUES>...</ISSUES> elements. | ||||||||||||||||
<ISSUE>...</ISSUE> | Title="subtitle" | Container for a single issue, which contains one or more adjustments. Title displays a description of the issue. | ||||||||||||||||
<ADJUSTMENTS>...</ADJUSTMENTS> |
Code="CircuitCode AdjName" | Container for serveral adjustments. CircuitCode must the the same code defined in <CIRCUIT>. AdjName can be any string that best describes the adjustment. | ||||||||||||||||
<ADJUSTMENT>... </ADJUSTMENT> | Container for a single adjustment, which could contains zero or more <STEP> elements. | |||||||||||||||||
Row="RowNumber" | Row (order) where to display it. Row numbering starts with 0. Eg: Row="0" | |||||||||||||||||
Steps="NumSteps" | The number of time(s) to apply a step before moving to the next one. | |||||||||||||||||
Action="val" | val can be one of these:
|
|||||||||||||||||
Title="Action Description" | Title to display in row. | |||||||||||||||||
<STEP/> |
Container for a single step in an adjustment. | |||||||||||||||||
Action="val" | val can be one of these:
|
|||||||||||||||||
IncBy="numval" | numval can be a positive or negative integer. | |||||||||||||||||
SetValues="[x1,x2,x3,...,xN]" | Set Range values. Use with Action="RS". Eg: SetValues="[5600,4500,4000]" | |||||||||||||||||
Value="val" | Set a single value. Use with Action="S". Eg: Value="Dynamic" | |||||||||||||||||
GT="param2" | Greater Than. If param1 > param2, perform Action.
param1 would be the value of parameter ParamName specified
in attribute Param. Use in conjunction with EQU attribute. Eg: <STEP Action="ED" IncBy="-2" GT="LTH4" EQU="UTH4[GTE]LTH4" Param="UTH4"/> |
|||||||||||||||||
LT="param2" | Lesser Than. If param1 < param2, perform Action.
param1 would be the value of parameter ParamName specified
in attribute Param. Use in conjunction with EQU attribute. Eg: <STEP Action="ED" IncBy="-2" LT="max" EQU="min[LT]max" Param="min"/> |
|||||||||||||||||
EQ="param2" | Equal To. If param1 >= param2, perform Action. param1 would be the value of parameter ParamName specified in attribute Param. Use in conjunction with EQU attribute. | |||||||||||||||||
GTE="param2" | Greater Than or Equal To. If param1 >= param2, perform
Action. param1 would be the value of parameter ParamName
specified in attribute Param. Use in conjunction with EQU attribute. Eg: <STEP Action="ED" IncBy="-2" GTE="LTH4" EQU="UTH4[GTE]LTH4" Param="UTH4"/> |
|||||||||||||||||
LTE="param2" | Less Than or Equal To. If param1 <= param2, perform
Action. param1 would be the value of parameter ParamName
specified in attribute Param. Use in conjunction with EQU attribute. Eg: <STEP Action="ED" IncBy="-2" LTE="max" EQU="min[LTE]max" Param="min"/> |
|||||||||||||||||
PEQU="ProposedEquation" | Proposed Equation. The Proposed value uses the new value of the current
parameter Param to calculate the equation. In other words, perform Action,
evaluate equation, and if it is True, permanently store the results of performed
Action. Eg: <STEP Action="EI" IncBy="1" PEQU="SquelchTh[LT]50" Param="SquelchTh"/> |
|||||||||||||||||
EQU="equation" | Equation. Perform Action if equation is True. Eg: EQU="UTH3-LTH3[GT]LLGAIN3-HLGAIN3" Comparison Operators inside of defined equations: [GTE]=Greater Than and Equal To [LTE]=Lesser Than and Equal To [EQ]=Equal To [GT]=Greater Than [LT]=Lesser Than |
|||||||||||||||||
Param="ParamName" | ParamName is a parameter name supported by the circuit. Eg: HFC, LFC, TK |
fittingguide.xml |
---|
<CIRCUIT Code="FOUNDATION" Title="FOUNDATION"> |
=== Define an Issue ===
Element Name: **
fittingguide.xml |
---|
<CIRCUIT Code="FOUNDATION" Title="FOUNDATION"> |
<CIRCUIT Code="P2" Title="Paragon 2"> <ISSUE Title="Feedback"> <ADJUSTMENTS Code="P2 Feedback"> ...some adjustments here... </ADJUSTMENTS> </ISSUE> </CIRCUIT> |
fittingguide.xml |
---|
<CIRCUIT Code="P2" Title="Paragon 2"> |
* GTE: "Grater Than or Equal To" the "Param" value in instrument. Example:
* LTE: "Less Than or Equal To" the "Param" value in instrument. Example:
* IncBy: a positive integer to denote increase, a negative integeer to denote decrease. Used in conjunction with Action=I or D. Example:
* SetValues: set multiple values. Used in conjunction with Action=RS. Example:
* PEQU: Proposed equation setting. Use in conjunction with Action=EI. Example:
* Value: a value to set in the specified parameter. Used in conjunction with Action=S.
* Param: instrument parameter to be affected. Note: this is case sensitive. Example:
Example ''fittingguide.xml'' file:
Example:
fittingguide.xml |
---|
<ISSUE Title="OVERALL TOO LOUD"> |
Sample File Structure in ezFIT 5.x |
---|
<?xml version="1.0" encoding="UTF-8"?> <PROJECT> <CIRCUIT Code="circuitcode" Title="Instrument Model: intrument model"> <ISSUES Title="Subtitle 1"> <ISSUE Title="Subtitle A of Subtitle 1 "> <ADJUSTMENTS Code="circuitcode Adjustments Set I"> <ADJUSTMENT Row="0" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> <ISSUE Title="Subtitle B of Subtitle 1 "> <ADJUSTMENTS Code="circuitcode Adjustments Set II"> <ADJUSTMENT Row="1" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> <ISSUES Title="Subtitle 2"> <ISSUE Title="Subtitle A of Subtitle 2"> <ADJUSTMENTS Code="circuitcode Adjustments Set III"> <ADJUSTMENT Row="0" Action="Y" Title="Action Description" > </ADJUSTMENTS> </ISSUE> </ISSUES> </CIRCUIT> </PROJECT> |
Sample File Structure in ezFIT 5.x |
---|
|