1 / 29

Domain Specific Language for Medical Laboratory

Domain Specific Language for Medical Laboratory. Team#6 Vikram Sriram Venkat Narasimha Bhyravabotla Haritha Rani Jadcherla Saloti Annapurna. Mentor Mr. Ravi Ganta. Instructor Dr. Kwok-Bun Yue. Agenda. Background Problems with current system Solution Architecture diagram

herman
Download Presentation

Domain Specific Language for Medical Laboratory

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. Domain Specific Language for Medical Laboratory Team#6 Vikram Sriram Venkat Narasimha Bhyravabotla Haritha Rani Jadcherla Saloti Annapurna Mentor Mr. Ravi Ganta Instructor Dr. Kwok-Bun Yue

  2. Agenda • Background • Problems with current system • Solution • Architecture diagram • Implementation of Solution • Demo • Website • Conclusion • References CSCI 6838: Team#6 Language for Array Data Processing

  3. Background • Medical laboratory • Microplate • Laboratory specific operations on microplate • Problems CSCI 6838: Team#6 Language for Array Data Processing

  4. Medical Laboratory • Physicians • Tests • Immunoassay • Results • Observations • Photons emitted from the test sample • Different tools exist to read results from microplate CSCI 6838: Team#6 Language for Array Data Processing

  5. Microplate A Microtiter plate (spelled Microtitre in Europe) or microplate is a flat plate with multiple "wells" used as small test tubes. [1] Figure 1: Microplate [2]

  6. Operations on Microplate • Shaking • Light projecting • Adding chemicals/catalysts • Reading the number of photons CSCI 6838: Team#6 Language for Array Data Processing

  7. Immunoassay • An immunoassay is a biochemical test that measures the concentration of a substance in a biological liquid, typically serum or urine, using the reaction of an antibody or antibodies to its antigen. [3] CSCI 6838: Team#6 Language for Array Data Processing

  8. Patient “A” test results with two tests for D1, D2 as Tags CSCI 6838: Team#6 Language for Array Data Processing

  9. Problems • Tag based operations • Storing and accessing results • General purpose Programming Languages( GPLs) do not satisfy physicians requirements • Overhead on physician to learn GPL • Preciseness of results CSCI 6838: Team#6 Language for Array Data Processing

  10. Storing and accessing results 1.Paper Based[4] 2.Table Based [5] CSCI 6838: Team#6 Language for Array Data Processing

  11. Solution • Domain Specific Language for laboratory specific CSCI 6838: Team#6 Language for Array Data Processing

  12. Motivation towards DSL • Problems with current system • Memory problems • End user overheads • Disadvantages with programming languages • Advantages of having a DSL specific to laboratory • Domain specific semantics • User friendly syntax • Overcoming problems with programming languages CSCI 6838: Team#6 Language for Array Data Processing

  13. Why only DSL ? • Most programming language doesn’t supports end users syntaxes • GPLs can address solution specific to domain but not optimal • End user has to learn syntaxes in GPL CSCI 6838: Team#6 Language for Array Data Processing

  14. Architecture Diagram Lexer Generate Grammar Parser Lexer ANTLR IDE Mat.java Mat.txt Library.java Run.java Readingfile.java Parser Run ECLIPSE IDE Console CSCI 6838: Team#6 Language for Array Data Processing

  15. Implementation of DSL • Language specification • Grammar design • Lexer and Parser generation CSCI 6838: Team#6 Language for Array Data Processing

  16. Language Specification • Problem domain semantics are analyzed • Description of the new syntaxes is described in this document • Expression syntax • Accessing matrix values • Function syntax • Target language is Java CSCI 6838: Team#6 Language for Array Data Processing

  17. Example • For example the following syntax will return a set of values stored in a matrix with row index 1,2, and column index as 2,3. M1[{1,2},{2,3}] • Following example will assign a value to matrix M1 whose tag is value with 32.12 M1[1,2].value=32.12 CSCI 6838: Team#6 Language for Array Data Processing

  18. Grammar Design • Automated tools are used for generating Lexer and parser code • Example: • ANTLR ( Another Tool for Language Recognizer) • Eclipse • ANTLR plug-in for Eclipse CSCI 6838: Team#6 Language for Array Data Processing

  19. Lexer and Parser generation CSCI 6838: Team#6 Language for Array Data Processing

  20. Matrix Access • Single Index • Multiple Index • Ordered Set • Range • Wildcard(* means “all”) CSCI 6838: Team#6 Language for Array Data Processing

  21. Some example syntaxes for laboratory specific • Single access M1[1,2] • Range M1[{0..2},1] • Ordered set M1[{0,1,2},1] • Wild card M1[*,*] • Avg(1,2,3) • Min(1,2,3) M1 CSCI 6838: Team#6 Language for Array Data Processing

  22. Tags Properties of tags Name Value Operations on tags Add Delete Set

  23. More about our website http://dcm.uhcl.edu/c423008fasalotia/caps10g6/default.htm CSCI 6838: Team#6 Language for Array Data Processing

  24. DEMO CSCI 6838: Team#6 Language for Array Data Processing

  25. Conclusion • There are many possible solutions • One good solution • DSL (Domain Specification Language) • Satisfy all requirements • User Friendly • Accuracy CSCI 6838: Team#6 Language for Array Data Processing

  26. References [1] http://en.wikipedia.org/wiki/Microtiter_plate. [2] http://www-odp.tamu.edu/publications/201_IR/chap_05/images/05_f10.gif [3] http://en.wikipedia.org/wiki/Immunoassay CSCI 6838: Team#6 Language for Array Data Processing

  27. References http://en.wikipedia.org/wiki/Domain-specific_language#Advantages_and_disadvantages http://en.wikipedia.org/wiki/Programming_language http://homepages.cwi.nl/~arie/papers/dslbib/ http://english.njhuahong.com/uploadfile/sb-jc4.jpg http://www-odp.tamu.edu/publications/201_IR/chap_05/images/05_f10.gif http://www.marylandfluwatch.org/_/rsrc/1241811361336/clinical-laboratories/8401_lores.jpg CSCI 6838: Team#6 Language for Array Data Processing

  28. Questions CSCI 6838: Team#6 Language for Array Data Processing

  29. Thank you CSCI 6838: Team#6 Language for Array Data Processing

More Related