== ezFIT 5.0 Design ==
Class Diagram
{{:ezfit:ezfit5-classdiagram.jpg?1280|Class Diagram}}
== Libraries / Assemblies ==
Implementation of [[.:subsystems|ezFIT Subsystems]] as libraries.
^ Library ^ Namespace ^ Description ^
| ''AHI.App.ViewModel.dll'' | AHI.App.ViewModel | Library for main application viewmodel, which is used by most application views. |
| ''AHI.App.Customization.dll'' | AHI.App.Customization | Library for customizing application. |
| ''AHI.App.Security.dll'' | AHI.App.Security | Library for application security. |
| ''AHI.App.Logging.dll'' | AHI.App.Logging | Library for application logging. |
| ''AHI.App.Tools.dll'' | AHI.App.Tools | Library for application tools. |
| ''AHI.App.Localization.dll'' | AHI.App.Localization | Library for application localization. |
| ''AHI.App.Noah.dll'' | AHI.App.Noah | Library for Noah support. |
| ''AHI.Patient.ContactInfo.dll'' | AHI.Patient.ContactInfo | Library for patient contact information. |
| ''AHI.Patient.AudiologicalInfo.dll'' | AHI.Patient.AudiologicalInfo | Library for patient audiological information. |
| ''AHI.Instrument.Circuit.dll'' | AHI.Instrument.Circuit | Library for instrument and circuit manipulation. |
| ''AHI.Instrument.Circuit.Intricon.dll'' | AHI.Instrument.Circuit.Intricon | Library for circuit manipulation, Intricon products. |
| ''AHI.Instrument.Circuit.SoundDes.dll'' | AHI.Instrument.Circuit.SoundDes | Library for circuit manipulation, Sound Design products. |
| ''AHI.Fitting.dll'' | AHI.Fitting | Library for fitting hearing instruments. |
| ''AHI.Fitting.Autofit.dll'' | AHI.Fitting.Autofit | Library for autofitting hearing instruments. |
| ''AHI.Fitting.Targets.dll'' | AHI.Fitting.Targets | Library for calculating hearing instrument fitting targets. |
| ''AHI.Fitting.Solutions.dll'' | AHI.Fitting.Solutions | Library for offering hearing instruments fitting solutions. |
| ''AHI.Fitting.Wizard.dll'' | AHI.Fitting.Wizard | Library for executing hearing instruments fitting wizard. |
| ''AHI.Fitting.Optimizer.dll'' | AHI.Fitting.Optimizer | Library for Speech Optimization, such as Clarujust. |
| ''AHI.Fitting.Reports.dll'' | AHI.Fitting.Reports | Library for generating hearing instruments fitting reports. |
| ''AHI.Fitting.Datalogging.dll'' | AHI.Fitting.Datalogging | Library for analyzing hearing instruments datalogs. |
| ''AHI.Fitting.ImportExport.dll'' | AHI.Fitting.ImportExport | Library for hearing instruments fitting session data import and export. |
| ''AHI.Fitting.Journal.dll'' | AHI.Fitting.Journal | Library for hearing instruments fitting session journal. |
| ''AHI.Products.Specifications.dll'' | AHI.Products.Specifications | Library for hearing instruments specifications and fitting ranges. |
| ''AHI.Products.Ordering.dll'' | AHI.Products.Ordering | Library for hearing instruments ordering. |
| ''AHI.Sounds.Environments.dll'' | AHI.Sounds.Environments | Library for environmental sounds. |
=== Classes ===
In namespace AHI.App.ViewModel (Assembly ''AHI.App.ViewModel.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TAppViewModel'' | Main ViewModel for application. |
In namespace AHI.App.Customization (Assembly ''AHI.App.Customization.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TAppCustomization'' | Component for customizing application. |
In namespace AHI.App.Logging (Assembly ''AHI.App.Logging.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TAppLog'' | Component for application logging. |
In namespace AHI.App.Tools (Assembly ''AHI.App.Tools.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TReport'' | Component for reporting. |
In namespace AHI.Patient.ContactInfo (Assembly ''AHI.Patient.ContactInfo.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TPatient'' | Component for patient. |
| ''TPatientList'' | Component for patient list. |
| ''TContactInfo'' | Component for contact information. |
| ''TAddress'' | Component for address information. |
| ''TInsuranceInfo'' | Component for insurance information. |
| ''TMarketingInfo'' | Component for marketing information. |
In namespace AHI.Patient.AudiologicalInfo (Assembly ''AHI.Patient.AudiologicalInfo.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TAudiometry'' | Component for audiometry. |
| ''TAudiogram'' | Component for audiogram. |
| ''TSpeechTest'' | Component for speech test. |
| ''THearingProfile'' | Component for hearing profile. |
In namespace AHI.Fitting (Assembly ''AHI.Fitting.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TFittingModule'' | Fitting module (main controller). |
| ''TFittingChart'' | Fitting chart. |
| ''TFittingSession'' | Fitting session. |
| ''TFittingSessionList'' | Fitting session list. |
| ''TChartSeries'' | Chart series. |
| ''TChartCrossovers'' | Chart crossovers. |
| ''TAdaptationManager'' | Adaptation manager. |
In namespace AHI.Products.Specifications (Assembly ''AHI.Products.Specifications.dll''), the following classes are defined:
^ Class ^ Description ^
| ''TProductSpecification'' | Single product specification. |
| ''TProductSpecificationList'' | List of products specifications. |
== Enumeration ==
=== TAutofitType ===
^ ezFIT 5.x Name ^ Code ^ Value ^ Description ^
| Normal WDRC | autofit_NormalWDRC | 0 | Normal using Wide Dynamic Range Compression (WDRC). |
| AGC-o | autofit_AGCo | 1 | Automatic Gain Control - Output. |
| Linear | autofit_Linear | 2 | Linear. |
| Restaurant / Party | autofit_RestaurantParty | 3 | Restaurant, or Party. |
| Telephone / Acoustic Telephone / Induction Loop | autofit_TelephoneInductionLoop | 4 | Telephone (Telecoil), Acoustic Telephone (No Telecoil), or Induction Loop (FM Loops, etc.). |
| Music | autofit_Music | 5 | Music or other pure tones. |
| Home / Office / TV | autofit_HomeOfficeTV | 6 | Home, Office, or TV. |
| Theatre / Worship Hall | autofit_TheatreWorshipHall | 7 | Theatre, or Worship Hall. |
| Intense Noise | autofit_IntenseNoise | 8 | Intense Noise. |
| AutoAdapt | autofit_AutoAdapt | 9 | Auto adapt with Adaptive Directionality technology. |
| AutoSceneDetection | autofit_AutoSceneDetect | 10 | Auto scene detection using iSceneDetect or similar technology. |
| Background Noise / Car / Machines | autofit_BackgroundNoiseCarMachines | 11 | Background Noise, car/traffic, machines. |
Example in C#:
public enum TAutofitType
{
Unassigned,
NormalWDRC,
AGCo,
Linear,
RestaurantParty,
TelephoneInductionLoop,
Music,
HomeOfficeTV,
TheatreWorshipHall,
IntenseNoise,
AutoAdapt,
AutoSceneDetection,
BackgroundNoiseCarMachines
};
=== TPrescriptionType ===
^ Name ^ Code ^ Value ^ Type ^Description ^
| Unassigned | presc_Unassigned | 0 | | Unassigned prescription. |
| FIG6 Audina v.1 2001 | presc_FIG6AudinaV1 | 1 | Non-linear amplification | Audina Prescription version 1 (2001), based on FIG6. |
| FIG6 Audina v.2 2006 | presc_FIG6AudinaV2 | 2 | Non-linear amplification | Audina Prescription version 2 (2006), based on FIG6. |
| FIG6 Audina v.3 2009 | presc_FIG6AudinaV3 | 3 | Non-linear amplification | Audina Prescription version 3 (2009), based on FIG6 and Steve Armstrong's algorithms. |
| NAL | presc_NAL | 4 | Linear amplification | National Acoustic Laboratories (AU) Prescription. (Byrne & Tonisson, 1976) |
| NAL-RP | presc_NALRP | 5 | Linear amplification | National Acoustic Laboratories (AU) Revised for Profound Loss Prescription. |
| NAL-NL1 | presc_NALNL1 | 6 | Non-linear amplification | National Acoustic Laboratories (AU) Non-linear version 1 Prescription. (Dillon, 1999) |
| NAL-NL2 | presc_NALNL2 | 7 | Non-linear amplification | National Acoustic Laboratories (AU) Non-linear version 2 Prescription. |
| FIG6 | presc_FIG6 | 8 | Non-linear amplification | Figure 6 Fitting Procedure prescription. (Killion & Fikret-Pasa,1993)|
| POGO | presc_POGO | 9 | Linear amplification | "Prescription of Gain and Output" prescription. (McCandless & Lyregaard, 1983) |
| POGO II | presc_POGOII | 10 | Linear amplification | "Prescription of Gain and Output" version 2 prescription. |
| Berger | presc_Berger | 11 | | Berger prescription. |
| 1/3 Gain | presc_ThirdGain | 12 | | 1/3 Gain rule prescription. |
| 1/2 Gain | presc_HalfGain | 13 | | 1/2 Gain rule prescription. |
| 2/3 Gain | presc_TwoThirdsGain | 14 | | 2/3 Gain rule prescription. |
| DSL | presc_DSL | 15 | Linear amplification | Desired Sensation Level prescription. |
| DSL [i/o] | presc_DSLio | 16 | Non-linear amplification | Desired Sensation Level Input-Output for Compression Amplification prescription. (Cornelisse, Seewald, & Jamieson, 1995)|
| DSL m[i/o] | presc_DSLmio | 17 | Non-linear amplification | Desired Sensation Level Multi-stage Input-Output for Compression Amplification prescription. National Center for Audiology, University of Western Ontario, Canada. (Scollie et al, 2005) |
| IHAFF | presc_IHAFF | 18 | Non-linear amplification | Independent Hearing Aid Fitting Forum Loudness Scaling prescription. (Cox, 1995; Valente & VanVliet, 1997) |
| LGOB | presc_LGOB | 19 | Non-linear amplification | Loudness Growth of Half-Octave Bands. (Allen, Hall, & Jeng, 1990) |
Other possibilities:
* FIG6
* NAL-RP
* POGO
* Berger
* 1/3 Gain
* 1/2 Gain
* 2/3 Gain
* DSL LIN
* DSL WDRC
Other aliases for Prescription Type:
* Fitting Rule
* Fitting Type
* Target Curve Type
Example in C#:
public enum TPrescriptionType
{
Unassigned,
FIG6AudinaV1,
FIG6AudinaV2,
FIG6AudinaV3,
NALNL1
};
=== TInstrumentStyle ===
^ Name ^ Code ^ Value ^ Description ^
| Unassigned | style_Unassigned | 0 | Completely-in-Canal. |
| Mini CIC | style_MiniCIC | 1 | Completely-in-Canal. |
| CIC | style_CIC | 2 | Completely-in-Canal. |
| Mini Canal | style_MiniCanal | 3 | Mini Canal. |
| Canal | style_Canal | 4 | Canal. |
| Half-Shell | style_HalfShell | 5 | Half-shell. |
| Full-Shell | style_FullShell | 6 | Full-shell. |
| Super60 | style_Super60 | 7 | Behind-the-Ear. |
| BTE | style_BTE | 8 | Behind-the-Ear. |
| Arc | style_Arc | 9 | Arc shape open fit. |
| RIC | style_RIC | 10 | Receiver-in-Canal open fit. |
| RIC Custom Mold | style_RIC_Custom_Mold | 11 | Receiver-in-Canal close with custom mold. |
| Stock | style_Stock | 12 | Stock CIC products such as ezHear. |
| OTE Open | style_OTE_Open | 13 | Over-the-Ear (open fit). |
| OTE Closed 2-cc Coupler | style_OTE_Closed2ccCoupler | 14 | Over-the-Ear (closed fit). |
| OTE Closed Real Ear Simuluted | style_OTE_ClosedRealEarSimulated | 15 | Over-the-Ear (closed fit). |
| OTE Closed BTE Ear Hook | style_OTE_ClosedBTEEarHook | 16 | Over-the-Ear (closed fit). |
| OTE Open Real Ear Simulated | style_OTE_OpenRealEarSimulated | 17 | Over-the-Ear (open fit). |
Example in C#:
public enum TInstrumentStyle
{
Undefined,
MiniCIC,
CIC,
MiniCanal,
Canal,
HalfShell,
FullShell,
Super60,
BTE,
Arc,
RIC,
RIC_Custom_Mold,
Stock,
OTE_Open,
OTE_Closed2ccCoupler,
OTE_ClosedRealEarSimulated,
OTE_ClosedBTEEarHook,
OTE_OpenRealEarSimulated
}
=== TInstrumentType ===
^ Name ^ Code ^ Value ^ Description ^
| None | None | 0 | No device. |
| Hearing Instrument | HearingInstrument | 1 | Hearing instrument. |
| Assistive Learning Device | AssistiveLearningDevice | 2 | Assistive learning device. |
| Musician Monitor | MusicianMonitor | 3 | Musician monitor. |
| Hearing Protection Device | HearingProtectionDevice | 4 | Hearing protection device (shooter protection, etc.). |
Example in C#:
public enum TInstrumentType
{
None,
HearingInstrument,
AssistiveLearningDevice,
MusicianMonitor,
HearingProtectionDevice
}
=== TFittingSolutionType ===
^ Name ^ Code ^ Value ^ Description ^
| None | fitsolution_None | 0 | None. |
| Loudness | fitsolution_Loudness | 1 | Loundness emphasis fitting solution. |
| Sound Quality | fitsolution_SoundQuality | 2 | Sound Quality emphasis fitting solution. |
| Speech Intelligibility | fitsolution_SpeechIntelligibility | 3 | Speech Intelligibility emphasis fitting solution. |
| Own Voice | fitsolution_OwnVoice | 4 | Own Voice emphasis fitting solution. |
| Other | fitsolution_Other | 5 | Other fitting solution. |
Example in C#:
public enum TFittingSolutionType {
None,
Loudness,
SoundQuality,
SpeechIntelligibility,
OwnVoice,
Other
}
=== TFittingChartType ===
^ Name ^ Code ^ Value ^ Description ^
| Audiogram | chart_Audiogram | 0 | Audiogram chart. |
| 2-cc Coupler | chart_TwoCCCoupler | 1 | 2-cc Coupler chart. |
| Open Ear Coupler | chart_OpenEarCoupler | 2 | Open Ear Coupler chart. |
| I/O Curves | chart_IOCurves | 3 | I/O Curves chart. |
Example in C#:
enum TFittingChartType {
chart_Audiogram,
chart_TwoCCCoupler,
chart_OpenEarCoupler,
chart_IOCurves
};
=== TProgIntfType ===
^ Name ^ Code ^ Value ^ Description ^
| Simulation | progintf_Simulation | 0 | Simulation mode. |
| HiPro | progintf_HiPro | 1 | HiPro (GNOtometrics) programming interface. |
| MicroCard | progintf_MicroCard | 2 | MicroCard (MicroConnect card) programming interface. |
| Gennum DSP | progintf_GennumDSP | 3 | Gennum DSP (Sound Design) programming interface. |
| NOAHlink | progintf_NOAHlink | 4 | NOAHlink (GNOtometrics for HIMSA) programming interface. |
| CF2 | progintf_CF2 | 5 | CF2 (Intricon) programming interface. |
| EMiniTec | progintf_EMiniTec | 6 | EMiniTec programming interface. |
| iLink Wireless | progintf_iLinkWireless | 7 | iLink Wireless (Intricon) programming interface. |
Example in C#:
enum TProgIntfType {
progintf_Simulation,
progintf_HiPro,
progintf_MicroCard,
progintf_GennumDSP,
progintf_NOAHlink,
progintf_CF2,
progintf_EMiniTec,
progintf_iLinkWireless
};
=== TCircuitManufType ===
^ Name ^ Code ^ Value ^ Description ^
| Unknown | manuf_Unknown | 0 | Manufacturer unknown. |
| Sound Design | manuf_SoundDesign | 1 | Manufacturer Sound Design Technologies (former Gennum). |
| Intricon | manuf_Intricon | 2 | Manufacturer Intricon (former RTI). |
| Sonic | manuf_Sonic | 3 | Manufacturer Sonic. |
| Dynamic Hearing | manuf_DynamicHearing | 4 | Manufacturer Dynamic Hearing. |
Example in C#:
enum TCircuitManufType {
manuf_Unknown,
manuf_SoundDesign,
manuf_Intricon,
manuf_Sonic,
manuf_DynamicHearing
};
=== TAppExecMode ===
^ Name ^ Code ^ Value ^ Description ^
| Stand-alone | Standalone | 0 | Stand-alone application execution mode. |
| Noah Fitting Module | NoahFittingModule | 1 | Noah fitting module application execution mode. |
Example in C#:
public enum TAppExecMode
{
Standalone,
NoahFittingModule
}
=== THIWearRecurrence ===
^ Name ^ Code ^ Value ^ Description ^
| Never | wearrecurrence_Never | 0 | No hearing instrument wearing. |
| Partial Day | wearrecurrence_PartialDay | 1 | Partial day hearing instrument wearing. |
| All Day | wearrecurrence_AllDay | 2 | All day hearing instrument wearing. |
Example in C#:
enum THIWearRecurrence {
wearrecurrence_Never,
wearrecurrence_PartialDay,
wearrecurrence_AllDay
};
=== TNoiseEnvironment ===
^ Name ^ Code ^ Value ^ Description ^
| Quiet | noiseenv_Quiet | 0 | Quiet environment. |
| Moderate | noiseenv_Moderate | 1 | Moderate noise environment. |
| Noisy | noiseenv_Noisy | 2 | Noisy environment. |
Example in C#:
enum TNoiseEnvironment {
noiseenv_Quiet,
noiseenv_Moderate,
noiseenv_Noisy
};
=== TMicrophoneInput ===
^ Name ^ Code ^ Value ^ Description ^
| Omni-directional Mic | micinput_MicOmnidirectional | 0 | For Quiet environment. |
| Telecoil | micinput_Telecoil | 1 | For Telephone. |
| Cardiod Directional Mic | micinput_MicDirectionalCardioid | 2 | For Moderate noise environment. |
| Super-cardioid Directional Mic | micinput_MicDirectionalSuperCardioid | 3 | For Noisy environment. |
| Hyper-cardioid Directional Mic | micinput_MicDirectionalHyperCardioid | 4 | For Noisy environment. |
| DAI | micinput_DAI | 5 | For Direct Audio Input. |
| Inductive Loop System | micinput_LoopSystem | 6 | For Inductive Loop System. |
| Omni-directional Mic + Telecoil | micinput_MicOmniPlusTelecoil | 7 | For Omni-directional Mic + Telecoil. |
| Omni-directional Mic + Loop System | micinput_MicDirectionalPlusLoopSystem | 8 | For Omni-directional Mic + Loop System. |
Example in C#:
enum TMicrophoneInput {
micinput_MicOmnidirectional,
micinput_Telecoil,
micinput_MicDirectionalCardioid,
micinput_MicDirectionalSuperCardioid,
micinput_MicDirectionalHyperCardioid,
micinput_DAI,
micinput_LoopSystem,
micinput_MicOmniPlusTelecoil,
micinput_MicDirectionalPlusLoopSystem
};