== 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 };