{"id":22661648,"url":"https://github.com/wpmed92/xreport","last_synced_at":"2025-04-12T06:12:03.515Z","repository":{"id":45363086,"uuid":"403583094","full_name":"wpmed92/xreport","owner":"wpmed92","description":"Structured reporting platform for radiologists","archived":false,"fork":false,"pushed_at":"2021-12-17T20:29:27.000Z","size":1937,"stargazers_count":9,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T06:11:41.944Z","etag":null,"topics":["formbuilder","javascript","radiology","radiology-report"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wpmed92.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-06T10:39:50.000Z","updated_at":"2025-04-10T07:35:02.000Z","dependencies_parsed_at":"2022-09-19T08:31:28.080Z","dependency_job_id":null,"html_url":"https://github.com/wpmed92/xreport","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpmed92%2Fxreport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpmed92%2Fxreport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpmed92%2Fxreport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpmed92%2Fxreport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wpmed92","download_url":"https://codeload.github.com/wpmed92/xreport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525138,"owners_count":21118619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["formbuilder","javascript","radiology","radiology-report"],"created_at":"2024-12-09T11:18:58.046Z","updated_at":"2025-04-12T06:12:03.484Z","avatar_url":"https://github.com/wpmed92.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XReport\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nXReport is a structured reporting platform for radiologists. It features both template creation and reporting. The created templates can be either static or dynamic. To make them dynamic (e.g. a field only shows up if another field's value is greater than 5) you have to attach FormScript snippets to them.\n\nThe project consists of two main parts: `xreport-embed` and `xreport-viewer`.\n\nFor a live demo click [here](https://xreport-demo.web.app)!\n\n## xreport-embed\n\n`xreport-embed` is a library that contains the main features of the platform: template building, template rendering, report generation and script evaluation. It is basically a form builder with custom elements (e.g. scoring table and calculated field, which in combination can be used for a tumor grading system) made specifically for radiological reporting.\n\n### Installation\n\n1. `npm install`\n2. `npx webpack`\n3. The library will be available in the `dist` folder\n\n### Usage\n\n````javascript\nimport * as xreportEmbed from 'xreport-embed';\n\nxreportEmbed.makeWidget(\n      null, //Template URL, null in case of an empty builder widget\n      \"\",  //Template name\n      \"div-card-holder\", //DOM element to inject widget to\n      ).then(() =\u003e {\n        //Builder initialized successfully\n      }).catch(error =\u003e {\n        //Error initializing\n      });\n`````\n\n`xreportEmbed.makeWidget` will load the empty builder widget or the existing template to the DOM element specified by the document id.\n\nTo learn about all the available form elements (what do they do, how to use them, etc.), read the [documentation](https://wpmed92.github.io/xreport/).\n\n## xreport-viewer\n\n`xreport-viewer` is an Angular SPA that incorporates the `xreport-dom` library and serves as an example application for how it can be integrated.\n\nTo be able to run the app you have to setup a [Firebase](https://firebase.google.com/) project.\n\n### Setting up the Firebase project\n\n1. Go to [Firebase Console](https://console.firebase.google.com/)\n2. Click on *Add project*\n3. Go through the 3 step project creation process\n4. On the welcome screen click on the Web icon under \"Get started by adding Firebase to your app\"\n5. In step 2. \"Add Firebase SDK\" click on \"use npm\" and copy the initialization code. When asked if Hosting should be setup, click on yes.\n6. Install the firebase CLI\n7. Click on *Firestore Database* and add two collections: *categories* and *reports* (this will store the metadata of templates)\n8. Click on *Storage* and create a Storage Bucket named  \n*templates* (this is where the template JSONs will be stored)\n9. Optional: You can set up *Authentication*, but it is not needed for the app to run properly\n10. In *src/environments/environment.ts* and *src/environments/environment.prod.ts* replace the *firebase* property with the values specific for your project you got in step 5.\n\n### Installation\n\n1. `npm install -g @angular/cli`\n2. `npm install`\n3. `ng serve`\n4. Open the browser\n\n### Usage\n\nFor an introduction on how to use XReport see the [tutorial](https://github.com/wpmed92/xreport/wiki/Tutorial) on our Wiki.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpmed92%2Fxreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwpmed92%2Fxreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpmed92%2Fxreport/lists"}