{"id":17219996,"url":"https://github.com/silvae86/doctor-case-label","last_synced_at":"2026-02-21T11:02:50.443Z","repository":{"id":40930239,"uuid":"284283314","full_name":"silvae86/doctor-case-label","owner":"silvae86","description":"A demo web app designed to obtain training data for ML-based diagnosis. In this app, we ask doctors to label medical cases by reading the EHR (electronic health record) of a patient encounter and labeling it with a diagnosis (condition).","archived":false,"fork":false,"pushed_at":"2023-01-24T03:34:46.000Z","size":1657,"stargazers_count":1,"open_issues_count":22,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-19T18:42:49.287Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/silvae86.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-01T15:10:43.000Z","updated_at":"2020-08-05T19:15:48.000Z","dependencies_parsed_at":"2023-02-13T15:46:18.712Z","dependency_job_id":null,"html_url":"https://github.com/silvae86/doctor-case-label","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/silvae86/doctor-case-label","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvae86%2Fdoctor-case-label","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvae86%2Fdoctor-case-label/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvae86%2Fdoctor-case-label/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvae86%2Fdoctor-case-label/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silvae86","download_url":"https://codeload.github.com/silvae86/doctor-case-label/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvae86%2Fdoctor-case-label/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29679049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T09:33:50.764Z","status":"ssl_error","status_checked_at":"2026-02-21T09:33:19.949Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T03:51:18.617Z","updated_at":"2026-02-21T11:02:50.426Z","avatar_url":"https://github.com/silvae86.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doctor Case Label\n\n\u003cimg src=\"https://raw.githubusercontent.com/silvae86/doctor-case-label/master/public/images/doctor-case-label-ui.png?token=AATJSEYM2DTKXBQ7E4NPUGS7GQGIM\" alt=\"doctor-case-label-ui\" style=\"width:100%;\"/\u003e\n\nA simple app for doctors to label medical cases with a specific condition.\n\n## Technology stack used\n\n- NodeJS v10\n- IBM Loopback 4\n- Express 4\n- jQuery 3.5.1\n- MongoDB 3.6.0\n\n## Install and run \"in the metal\"\n\n```bash\n# install NodeJS 10 (I suggest using NVM)\nnvm install 10\nnvm use 10\ngit clone https://github.com/silvae86/doctor-case-label.git\ncd doctor-case-label\n# to start MongoDB container in Docker (alternatively, run MongoDB 3.6 on 127.0.0.1:27019)\ndocker-compose up mongodb \nnpm install\nnode .\n```\n\n## Build and run using Docker Compose\n\n```bash\ngit clone https://github.com/silvae86/doctor-case-label.git\ncd doctor-case-label\ndocker-compose build \u0026\u0026 docker-compose up\n```\n\n## Usage\n\n- For the UI, Access your browser at `http://127.0.0.1:3000`\n\n- After authenticating:\n    - For the API spec (OpenAPI 3.0), access your browser at `http://127.0.0.1:3000/api/explorer`\n    - For the api.json file (OpenAPI 3.0), , access your browser at `http://127.0.0.1:3000/api/explorer`\n- The demo is created on first startup, using migrations. \n    - To re-create everything, press the red button at the bottom of the labeling UI.\n    \n- Code-related tasks\n    - `npm run test` \n        - Only tests the creation of the main page 😱\n        - Demonstrates integration with `mocha` \n        - Demonstrates code quality enforcement, as tests do not pass if the lint operation returns any error.\n    - `npm run lint:fix`\n        - Checks for code standard consistency and fixes code automatically using `eslint` whenever possible.\n## Demo Credentials\n\n- Doctor João Silva\n    - Username: joao\n    - Password: joaopassword\n    \n- Doctor Joe Smith\n    - Username: joe\n    - Password: joepassword \n\n## License (The 3-Clause BSD License)\n\nCopyright 2020 João Rocha da Silva\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilvae86%2Fdoctor-case-label","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilvae86%2Fdoctor-case-label","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilvae86%2Fdoctor-case-label/lists"}