Code Monkey home page Code Monkey logo

main's People

Contributors

aquohn avatar damithc avatar gowgos5 avatar j-lum avatar jacobtoresson avatar jeremykwok avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

main's Issues

Comments from User Guide

I'm cleaning up the User Guide to make it more user-friendly. I left a few comments/notes about implementation lying around while writing it. I'm removing them to store them here.

  • Since there is a lot of fairly complex data to manage, the input system is stateful - different commands mean different things based on the current context.
  • This would require some tracking and interfacing between the UI and the Logic (e.g. the internal logic needs to know which patient is being displayed as patient #1). This can be done by creating an array of integers mapping the on-screen indices to the internal ArrayList indices.
  • If user input is ambiguous, we can show a window of possible options to disambiguate between, or give the user the option to edit the text in a buffer. The disambiguation window and code can be reused - create an abstract DukeObject class for our data items.
  • For switches, disambiguation can be used as confirmation if part of the input matches the first part of the switch, but subsequent parts are wrong.
  • next and prev can be removed if we have a scrolling display on the GUI
  • All search and disambiguation functions should be able to run on essentially the same interface: window of matching results, each with an index, and the ability to navigate to each specific result
  • Should we have autocomplete for commands too?

Peer Evaluation Round 1

Peer Evaluation Round 1 will be open on TEAMMATES. You should have received the submission link. If you do not submit feedback responses, you will forfeit participation marks that you earned based on feedback ratings received from others.

  • The expectations are two fold. First, we hope you will give a honest and constructive feedback to your teammates to help them improve. Second, we hope that you will use the feedback you received to be an effective team player.

Rapid input parsing

We need to design, essentially, a finite-state machine that allows the user to rapidly navigate between different fields and input data, controlling with just a few characters. I can work on the design for now, but the actual implementation may take some time.

Developer Guide

Should have the user profile, value proposition, and an appendix containing user stories, use cases and NFR.

Support contextual parsing of commands

The same command in two different contexts can do two different (conceptually similar) things, with a different argument signature. We need a way to differentiate between them.

User Guide

Should have the concrete command syntax and explanation for features that you would implement (in v1.4) and the features that are planned for v2.0.

Create disambiguation window logic

A general purpose disambiguation screen is required for the functioning of a lot of commands. It should be able to display the string representation of several DukeObjects and allow the user to select them by index in order to execute the Command on them.

As a house officer in a hurry, I can quickly access the relevant data of the patient I am seeing.

  • #37 View previous medical history: view investigation results, courses of medicine completed, general notes on medical history, completed plan items
  • #35 View and navigate data associated with each condition: go from viewing the impression to a detailed view of some evidence or treatment, and vice versa
  • #30 Check allergies: display allergies and other vital data on patient's main page, and maybe in a little box at the side even when viewing/entering other kinds of data
  • #33 Search for relevant data: search through treatments/evidence for a string?

Feedback on week 7 project progress for CS2113-T14-1

Team progress for v1.1

  • Updated the README page(:heavy_check_mark: well done!)
  • Made a release containing a JAR file.(:heavy_check_mark: well done!)
  • Issue tracker setup:
    • type.* labels setup(:heavy_check_mark: well done!)
    • priority.* labels setup(:heavy_check_mark: well done!)
    • severity.* labels setup(:heavy_check_mark: well done!)
  • Milestones setup:
    • Milestone v1.1 setup(:heavy_check_mark: well done!)
    • Milestone v1.2 setup(:heavy_check_mark: well done!)
    • Milestone v1.3 setup(:heavy_check_mark: well done!)
    • Milestone v1.4 setup(:heavy_check_mark: well done!)
  • Milestone v1.1 completed(:heavy_check_mark: well done!)
  • Milestone v1.1 closed(:heavy_check_mark: well done!)
  • Code tagged as v1.1(:heavy_check_mark: well done!)
  • Updated the About us page(:heavy_check_mark: well done!)

Individual progress of @aquohn for v1.1

Individual progress of @JeremyKwok for v1.1

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)
  • Photo uploaded(:heavy_check_mark: well done!)
  • PR created: #21 #18 (:heavy_check_mark: well done!)
  • You have reviewed at least 1 PR(:exclamation: try to do by next milestone)

Individual progress of @gowgos5 for v1.1

Individual progress of @JacobToresson for v1.1

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)
  • Photo uploaded(:heavy_check_mark: well done!)
  • PR created: #12 (:heavy_check_mark: well done!)
  • You have reviewed at least 1 PRhttps://github.com//pull/21 (:heavy_check_mark: well done!)

Tutor: @sanjukta99

Note: the above observation was done by the CS2113-feedback-bot and covers changes up to 2019-10-03 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Event updated to be between two times

Latest merge changed a fundamental part of the data model: events are now between two specific times rather than at a specific time. I'll sort out the fallout, especially in the test code - in the meantime, don't touch any events, especially not those in the test code.

Provide autocomplete functionality for commands

On top of having a HashMap to look up commands, should we have an array of valid commands, and we see what commands could possibly match with the string that was input? E.g.

int n = cmdStr.length();
for (String validCmd : validCmdArr) {
  if (n <= validCmd.length()) {
    if (cmdStr.equals(validCmd.substring(0, n))) {
      if (validCmd.length() == n) {
        //exact match for valid command, execute the command here
        break;
      } else {
        //add validCmd to array of possible valid command strings to display to user here
      } 
    }
  }
} 
//if by the end of the loop there is only one valid command in the array, prompt the user if this is what he wants to do

Feedback on week 6 project progress for CS2113-T14-1

Leftovers from the previous week

  • You are done with previous weeks work(:heavy_check_mark: well done!)

Progress of this week

  • A version tagged A-Gradle is in the repo(:heavy_check_mark: well done!)

  • A version tagged A-CheckStyle is in the repo(:heavy_check_mark: well done!)

  • A version tagged A-Jar is in the repo(:heavy_check_mark: well done!)

  • A version tagged A-Travis is in the repo(:heavy_check_mark: well done!)

  • A version tagged B-Reminders is in the repo(:heavy_check_mark: well done!)

  • A version tagged B-FindFreeTimes is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-ViewSchedules is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-DetectAnomalies is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-Snooze is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-TentativeScheduling is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-RecurringTasks is in the repo(:heavy_check_mark: well done!)

  • A version tagged B-DoAfterTasks is in the repo(:exclamation: try to do by next milestone)

  • A version tagged B-DoWithinPeriodTasks is in the repo(:heavy_check_mark: well done!)

  • A version tagged B-FixedDurationTasks is in the repo(:heavy_check_mark: well done!)

  • Updated the README page(:exclamation: try to do by next milestone)

  • Made a release containing a JAR file.(:heavy_check_mark: well done!)

Individual progress of @aquohn

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)

  • You have reviewed at least 1 PR(:heavy_check_mark: well done!)

PR created for:

  • [CS2113-T14-1]-aquohn-A-Jar

  • [CS2113-T14-1]-aquohn-A-Jar

  • [CS2113-T14-1]-aquohn-B-RecurringTasks

Individual progress of @JeremyKwok

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)

  • You have reviewed at least 1 PR(:exclamation: try to do by next milestone)

PR created for:

  • [CS2113-T14-1]-JeremyKwok-B-DoWithinPeriodTasks

  • [CS2113-T14-1]-JeremyKwok-B-FixedDurationTasks

  • [CS2113-T14-1]-JeremyKwok-B-DoWithinPeriodTasks

  • [CS2113-T14-1]-JeremyKwok-B-FixedDurationTasks

Individual progress of @gowgos5

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)

  • You have reviewed at least 1 PR(:heavy_check_mark: well done!)

PR created for:

  • [CS2113-T14-1]-gowgos5-B-ViewSchedules

  • [CS2113-T14-1]-gowgos5-B-Reminders

  • [CS2113-T14-1]-gowgos5-A-Travis

Individual progress of @JacobToresson

  • Team repo forked to your GitHub account(:heavy_check_mark: well done!)

  • You have reviewed at least 1 PR(:exclamation: try to do by next milestone)

PR created for:

  • [CS2113-T14-1]-JacobToresson-B-Snooze

Tutor: @sanjukta99

Note: the above observation was done by the CS2113-feedback-bot and covers changes up to 2019-09-19 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Create parser core

Required for all parsing-related stories.

Create a parser class that is able, given an input string, a command name, and a list of switches with the required parameters, to:

  • identify if the string is a valid command
  • if not, throw an error identifying the first encountered error condition
  • if so, extract the values supplied for each switch

Create abstract Evidence Object extends abstract DukeData

Represents evidence constituting a medical diagnosis.
An Evidence object corresponds to the notes of the doctor on a piece of medical evidence as well as an integer between 1-4 representing the priority or significance of the evidence.

Attributes:

- name: information on the evidence
- impression: the impression object the evidence is tagged to
- priority: the priority level of the evidence

Functions:

+ toString():

Returns information of the evidence which can be Displayed, Reported or Stored.
@​return String the information on the evidence

+ toDisplayString():

Returns the information on the evidence formatted for display
@​return String the pretty print for the evidence information

+ toReportString():

Returns the information on the evidence formatted for Report Generation
@​return String the formatted evidence information for writing to a report

+ updatePriority(priorityVal: int):

@​param int the integer value of the priority between 1 to 4
@​return null

+ getters & setters: to access data stored in Evidence

As a house officer who has to manage a lot of information...

  • #33 - Search through all the records of a patient
  • #34 - Flag and view the critical issues to follow up for each patient
  • #35 - Easily view and navigate through data associated with particular conditions that particular patients have
  • #47 - Easily link new information and follow-up items to particular conditions

Feedback on week 5 project progress for CS2113-T14-1

Progress of this week

  • A version tagged A-Packages is in the repo(:heavy_check_mark: well done!)

  • A version tagged v1.0 is in the repo(:heavy_check_mark: well done!)

Tutor: @sanjukta99

Note: the above observation was done by the CS2113-feedback-bot and covers changes up to 2019-09-12 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.