1 / 17

Overview

Overview. AHLTA-Mobile v4.0 Windows Mobile Platform. MCC v1.0 Android Platform. MCC v1.0.0.0 High Level Design Review. Design Highlights To Be Covered: MCC will operate on an Android platform v4.0 or v4.1 operating system depending upon the device.

yori
Download Presentation

Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview AHLTA-Mobile v4.0 Windows Mobile Platform MCC v1.0 Android Platform

  2. MCC v1.0.0.0 High Level Design Review • Design Highlights To Be Covered: • MCC will operate on an Android platform v4.0 or v4.1 operating system depending upon the device. • The CAC Barcode Reader capability of the MCC solution will be capable of reading a PDF417 formatted object that is binary encoded. • During display, the MCC will mask the first five digits of the Social Security Number and display only the last four digits. • The MCC application will update the Pre-deployment Form and Post-deployment Form • The MCC solution will capture the ICD-10 code associated to a mechanism of injury selected on the Field Medical Card encounter.

  3. MCC Development Environment • C# is the language this application is being developed. • We use Xamarin.Studio as the software IDE (Integrated Development Environment). • We use the Xamarin.Android as the Framework. • Unit Tests are developed for each testable method in each class. • We use continuous integration: • Software builds are initiated after code is checked in. • Fortify SCQC scans are run after each software build. • We are integrating Source Monitor and unit tests into the continuous integration process.

  4. MCC Highlights Layered Architecture SQLite/SQLCipher Synthesis Single App Building Blocks

  5. 1. Layered Architecture Activities – Device-specific code that manages the forms that are displayed. Application Layer (AL) – Code that is platform- or application-specific. Fragments – Code which collects the UI components generated by the Adapters into a single screen. Adapters – Code that converts objects in databases and core building blocks into UI components. Android Rows – Platform-specific rendering logic for the core components. Common – Utility code that is specific to the Android platform. Business Logic (BL) – Components that provide the interface to Core services. Module – Software that supplies building blocks that provide the configurable-form capability of the system. Managers – Set of table-specific interfaces to the data access layer. Base – Fundamental core business logic components. Core Contracts – Primary keys to the database tables. Data Access Layer (DAL) – Provides an interface to the database services. Service Access Layer (SAL) – Software used in import/export operations with AHLTA-T. Data Layer (DL) – Database services layer of the system. Security Layer – Software providing security services for the system. Common – Utility code used throughout the system.

  6. Android Activities Fragments Adapters Common Rows Module Managers Service Access Layer Core Base Data Access Layer Contracts Data Layer Common Security Layer

  7. Advantages of Layering • Breaks up an application into a set of easily understood, vertical components, each of which has a single function. • Protects upper levels from changes to the lower levels.

  8. 2. SQLite and SQLCipher • SQLCipher • Advantage — Encrypts the database. • Disadvantage — Exposes only an SQL interface, not a programmatic one. • SQLite.NET • Advantage — Exposes a programmatic interface. • Disadvantage — Does not encrypt the database.

  9. Types of SQLite Interfaces SQL Interface CREATE TABLE PATIENT (EDIPN NUMBER PRIMARY KEY, FIRST_NAME TEXT, LAST_NAME TEXT, DOB DATE) SELECT FIRST_NAME, LAST_NAME, DOB FROM PATIENT WHERE EDIPN= (passing in EDIPN) INSERT INTO PATIENT (EDIPN, FIRST_NAME, LAST_NAME, DOB) VALUES({0},'{1}','{2}','{3}'); (passing in values for {0} through {3}) UPDATE PATIENT SET FIRST_NAME='{0}',LAST_NAME='{1}',DOB='{2}' WHERE EDIPN={3}; (passing in values for {0} through {3}) Programmatic Interface CreateTable<Patient> () Table<Patient>().FirstOrDefault(x => x.ID == id) Insert (patient) Update (patient)

  10. SQLite/SQLCipher Synthesis MCC Core User Manager Patient Manager Module Manager Document Manager Database Manager SQLCipher Database SQLite.NET SQLCipher SQLite3 MCC DB

  11. 3. Single vs. Multiple Apps

  12. Advantages of a Single App • Simplifies the MCC security model. • No need for app-to-app communication/authentication. • Multiple apps can be simulated using building block/XML strategy.

  13. 4. Building Blocks • MCC apps will not be developed in code. • MCC apps will utilize a set of general-purpose building blocks that will be configured to behave in the way required by each app. • The configuration will be controlled by XML files.

  14. Types of Building Blocks • Reusable (for any platform) — belong to the Module layer in Core. • Platform-specific — belong to the Rows layer in Android.

  15. Building Block Inventory Template overall form being displayed (e.g. SF-600) Page one or more screens that make up a template Separator non-textual horizontal divider Header textual horizontal divider Boolean true or false, or true-false-N/A Description read-only text box Text read-write text box Autocomplete read-write text box that will automatically fill in text (in progress) Date popup allowing the user to select a year-month-day Time popup allowing the user to select an hour-minute List single-select or multi-select, inline or popup list of related items Image graphic (e.g. body image) that is displayed on a page Conditional control that determines behavior based on a condition (in progress) Calculation formula for displaying a value based on other values (in progress) Subpage page invoked by a previous page Subtable page-table combination invoked by a previous page

  16. Advantages of Building Blocks • Builds on native Xamarin-supplied primitives. • Provides more complex, higher-level capabilities. • Allows actual “apps” to be built using only XML.

  17. XML Exists for the Following Apps • Forms • DD2795 • DD2796 • Patient Readiness • Allergy • Chemoprophylaxis • Dental Health • Deployability • Exam Dates • Glasses • Immunizations • Medications • Medevac Request • Patient • Encounters • DD1380 • Encounter Review • SF600 • Sick Call • Exams • Color Blindness Exam • Glasgow Coma Exam • MiniMental Exam • Military Acute Concussion Evaluation (MACE) Form 2010

More Related