====== Medical Command Line ====== The MCL is an idea or possible method of entering data into MedUX. The most flexible way of entering data into a system is a command line. It allows a workflow that is adapted to the preferences of each doctor, it does not force you to fill out a form in a given order, but lets you choose to do e.g. the anamnesis first, then enter a certain diagnosis, check the objectives then, add another diagnosis, and then write down the treatment plan. A command line is highly efficient, as it can enter //very// different kinds of data in one format. However, it needs some work to make its usability good as well - you have to learn the "commands" first. But after having done this, you get to work really fast. And it must contain a built-in help function to support you with the commands. Helpers: * Auto-completion of words, like diagnoses, accounting positions etc. * Opening of a dialog for entering more data, like forms, RivaRocci blood pressure measurement etc. * ... Commands should consist of 2-3 chars: dg app should expand to DG Acute appendicitis with generalized peritonitis (ICD-10: 540.0) and open a dropdown at the "app" word start with other diagnoses with the partial word "app" like "St.p.Appendectomia [custom diagnose]", "Disease of appendix, unspecified [K38.9]", "Neoplasm of uncertain behavior of appendix [D37.3]", "Acute appendicitis with generalized peritonitis [ICD-10: 540.0]" etc. The parser of the command line should work out the meaning of the command in a certain order: * special cases: e.g. numbers only should be treated in a special way, like accounting positions. There should be a plugin hook for that, so that modules coud provide their own "special cases". * //normal// commands: DG(diagnose), AN(anamnesis), NT(notice) etc. Plugin hook as well. * custom commands: user defined commands that run macros or similar: o -> add "ordination" accounting position for today. Maybe provide a pre-defined framework for "macros". * everything else (fallback): if nothing of the above is found, it should have a (user customizeable?) //default// behaviour, e.g. write the following text as comment.