ai-ebm-assistant-v4 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# EBM AI Assistant
|
|
2
2
|
|
|
3
3
|
## Project Description
|
|
4
|
-
|
|
4
|
+
EBM AI Assistant is a clinical decision support system that provides AI-powered Evidence-Based Medicine (EBM) recommendations directly within physician workflows during active patient encounters. It's built on top of Vite, React, and MUI library.
|
|
5
5
|
|
|
6
6
|
## Setup
|
|
7
7
|
|
|
8
8
|
### Prerequisites
|
|
9
|
-
- Node.js (
|
|
9
|
+
- Node.js (v20)
|
|
10
10
|
- npm or yarn
|
|
11
11
|
|
|
12
12
|
### Installation
|
|
@@ -14,7 +14,6 @@ This project appears to be a web application, likely built with Preact and Vite,
|
|
|
14
14
|
1. Clone the repository:
|
|
15
15
|
```bash
|
|
16
16
|
git clone <repository_url>
|
|
17
|
-
cd emb-ai
|
|
18
17
|
```
|
|
19
18
|
2. Install dependencies:
|
|
20
19
|
```bash
|
|
@@ -48,11 +47,11 @@ Runs Plop to generate new components or atoms based on templates.
|
|
|
48
47
|
|
|
49
48
|
## Technologies Used
|
|
50
49
|
|
|
51
|
-
- **
|
|
50
|
+
- **React**: A JavaScript library for building user interfaces, maintained by Facebook and a community of individual developers and companies.
|
|
51
|
+
- **Material-UI (MUI)**: A comprehensive React UI toolset for building features faster.
|
|
52
52
|
- **Vite**: A next-generation frontend tooling that provides an extremely fast development experience.
|
|
53
53
|
- **Axios**: Promise-based HTTP client for the browser and Node.js.
|
|
54
|
-
- **
|
|
55
|
-
- **Node.js**: JavaScript runtime environment.
|
|
54
|
+
- **Node.js**: JavaScript runtime environment(v20).
|
|
56
55
|
- **npm / Yarn**: Package managers for JavaScript.
|
|
57
56
|
|
|
58
57
|
## Publishing to NPM
|
|
@@ -85,43 +84,21 @@ Follow these steps for a manual publishing process:
|
|
|
85
84
|
|
|
86
85
|
### Automated Publishing with `publish.sh`
|
|
87
86
|
|
|
88
|
-
To automate the publishing process, you can use the provided `publish.sh` script.
|
|
87
|
+
To automate the publishing process, you can use the provided `publish.sh` script. This script handles installing dependencies, committing changes (with a message like "Release: EBM AI Assistant package <version>"), updating the package version (patch, minor, or major based on your input), building the library, logging into NPM (using environment variables), and publishing the package.
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
|
|
90
|
+
1. **Run the Publish Script**: Execute the `publish.sh` script with the desired version type (patch, minor, or major).
|
|
91
91
|
```bash
|
|
92
|
-
|
|
93
|
-
export NPM_PASSWORD="your_password"
|
|
94
|
-
export NPM_EMAIL="your_email@example.com"
|
|
92
|
+
./publish.sh <version_type>
|
|
95
93
|
```
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- Automatically increment the package version (patch).
|
|
100
|
-
- Build the library.
|
|
101
|
-
- Log in to NPM using the provided environment variables.
|
|
102
|
-
- Publish the package to NPM with public access.
|
|
103
|
-
```bash
|
|
104
|
-
./publish.sh
|
|
105
|
-
```
|
|
106
|
-
3. **Verify**: Check the version update on the NPM website after publishing.
|
|
107
|
-
|
|
108
|
-
For more details on manual publishing, refer to the [NPM documentation](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages).
|
|
94
|
+
*Example: `./publish.sh patch`*
|
|
95
|
+
*Example: `./publish.sh minor`*
|
|
96
|
+
*Example: `./publish.sh major`*
|
|
109
97
|
|
|
110
|
-
|
|
98
|
+
2. **Verify**: Check the version update on the NPM website after publishing.
|
|
111
99
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- **Read Operations**:
|
|
115
|
-
- Examples like `https://arangodbservice.dev.ainqaplatform.in/api/read_qdmqueries` are used with `POST` requests to fetch data based on specific filters and `queryid`s.
|
|
116
|
-
- Data retrieval often involves passing a `db_name` and a `filter` object in the request body.
|
|
117
|
-
|
|
118
|
-
- **Create, Update, Delete Operations**:
|
|
119
|
-
- While a generic `AxiosCall` exists, explicit examples of dedicated `PUT`, `DELETE`, or `POST` for creation (beyond logging) were not found in the initial scan.
|
|
120
|
-
- It is assumed that new APIs for these operations would leverage the `AxiosCall` utility with appropriate HTTP methods (`POST` for create, `PUT` for update, `DELETE` for delete).
|
|
100
|
+
For more details on manual publishing, refer to the [NPM documentation](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages).
|
|
121
101
|
|
|
122
|
-
- **Pagination**:
|
|
123
|
-
- Current API calls do not explicitly include pagination parameters such as `offset`, `limit`, `page`, or `size`.
|
|
124
|
-
- **Recommendation**: For any API endpoints designed to retrieve a collection of resources ("get all" APIs), it is recommended to implement pagination. A suggested default structure would include `offset` (defaulting to 0) and `limit` (defaulting to 10) parameters to control the number of results returned and the starting point of the collection. The API should also return the `overall count` of items available.
|
|
125
102
|
|
|
126
103
|
## Project Structure (Initial Observations)
|
|
127
104
|
- `src/`: Contains the main application source code.
|
|
@@ -138,4 +115,5 @@ The project primarily uses `fetch` and `axios` for making API calls. A generic `
|
|
|
138
115
|
- `package.json`: Project dependencies and scripts.
|
|
139
116
|
|
|
140
117
|
## Vite Library Mode
|
|
141
|
-
This project leverages Vite's library mode (`vite build --watch --mode library`) to build components into a shareable NPM package. This configuration optimizes the output for library consumption, making it easy to integrate these components into other projects. The `app.jsx` serves as a development playground to test these components during their creation.
|
|
118
|
+
This project leverages Vite's library mode (`vite build --watch --mode library`) to build components into a shareable NPM package. This configuration optimizes the output for library consumption, making it easy to integrate these components into other projects. The `app.jsx` serves as a development playground to test these components during their creation.
|
|
119
|
+
>>>>>>> 8f6a73d2b26a69176b7837f59d48d812e915fa85
|
|
@@ -22785,8 +22785,8 @@ var _sharedExports = _shared.exports, id$1 = 0, px = Math.random(), _uid = funct
|
|
|
22785
22785
|
for (; t.length > Be; )
|
|
22786
22786
|
has$5(n, Ee = t[Be++]) && (~arrayIndexOf(Ce, Ee) || Ce.push(Ee));
|
|
22787
22787
|
return Ce;
|
|
22788
|
-
}, _enumBugKeys = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","), $keys$
|
|
22789
|
-
return $keys$
|
|
22788
|
+
}, _enumBugKeys = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","), $keys$1 = _objectKeysInternal, enumBugKeys$1 = _enumBugKeys, _objectKeys = Object.keys || function(t) {
|
|
22789
|
+
return $keys$1(t, enumBugKeys$1);
|
|
22790
22790
|
}, _objectGops = {};
|
|
22791
22791
|
_objectGops.f = Object.getOwnPropertySymbols;
|
|
22792
22792
|
var _objectPie = {}, hasRequired_objectPie;
|
|
@@ -23016,11 +23016,17 @@ var iterator$2 = _wksExt.f("iterator"), iterator$1 = { default: iterator$2, __es
|
|
|
23016
23016
|
return t;
|
|
23017
23017
|
}, cof = _cof, _isArray = Array.isArray || function(t) {
|
|
23018
23018
|
return cof(t) == "Array";
|
|
23019
|
-
}, _objectGopnExt = {}, _objectGopn = {},
|
|
23020
|
-
|
|
23021
|
-
|
|
23022
|
-
|
|
23023
|
-
|
|
23019
|
+
}, _objectGopnExt = {}, _objectGopn = {}, hasRequired_objectGopn;
|
|
23020
|
+
function require_objectGopn() {
|
|
23021
|
+
if (hasRequired_objectGopn)
|
|
23022
|
+
return _objectGopn;
|
|
23023
|
+
hasRequired_objectGopn = 1;
|
|
23024
|
+
var e = _objectKeysInternal, t = _enumBugKeys.concat("length", "prototype");
|
|
23025
|
+
return _objectGopn.f = Object.getOwnPropertyNames || function(Be) {
|
|
23026
|
+
return e(Be, t);
|
|
23027
|
+
}, _objectGopn;
|
|
23028
|
+
}
|
|
23029
|
+
var toIObject$2 = _toIobject, gOPN$1 = require_objectGopn().f, toString$3 = {}.toString, windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [], getWindowNames = function(e) {
|
|
23024
23030
|
try {
|
|
23025
23031
|
return gOPN$1(e);
|
|
23026
23032
|
} catch {
|
|
@@ -23091,7 +23097,7 @@ USE_NATIVE || ($Symbol = function() {
|
|
|
23091
23097
|
return DESCRIPTORS && setter && setSymbolDesc(ObjectProto, t, { configurable: !0, set: n }), wrap(t);
|
|
23092
23098
|
}, redefine($Symbol[PROTOTYPE], "toString", function() {
|
|
23093
23099
|
return this._k;
|
|
23094
|
-
}), $GOPD.f = $getOwnPropertyDescriptor, $DP.f = $defineProperty,
|
|
23100
|
+
}), $GOPD.f = $getOwnPropertyDescriptor, $DP.f = $defineProperty, require_objectGopn().f = gOPNExt.f = $getOwnPropertyNames, require_objectPie().f = $propertyIsEnumerable, $GOPS.f = $getOwnPropertySymbols, DESCRIPTORS && !_library && redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable), wksExt.f = function(e) {
|
|
23095
23101
|
return wrap(wks(e));
|
|
23096
23102
|
});
|
|
23097
23103
|
$export$2($export$2.G + $export$2.W + $export$2.F * !USE_NATIVE, { Symbol: $Symbol });
|
|
@@ -58479,7 +58485,7 @@ function(e) {
|
|
|
58479
58485
|
}, e.loadImageFile = e.loadFile;
|
|
58480
58486
|
}(E.API), function(e) {
|
|
58481
58487
|
function t() {
|
|
58482
|
-
return (i.html2canvas ? Promise.resolve(i.html2canvas) : import("./html2canvas-
|
|
58488
|
+
return (i.html2canvas ? Promise.resolve(i.html2canvas) : import("./html2canvas-565315e3.mjs").then((Re) => Re.h)).catch(function(Re) {
|
|
58483
58489
|
return Promise.reject(new Error("Could not load html2canvas: " + Re));
|
|
58484
58490
|
}).then(function(Re) {
|
|
58485
58491
|
return Re.default ? Re.default : Re;
|
|
@@ -59224,7 +59230,7 @@ function(e) {
|
|
|
59224
59230
|
var Ue = Te.getContext("2d");
|
|
59225
59231
|
Ue.fillStyle = "#fff", Ue.fillRect(0, 0, Te.width, Te.height);
|
|
59226
59232
|
var Qe = { ignoreMouse: !0, ignoreAnimation: !0, ignoreDimensions: !0 }, Me = this;
|
|
59227
|
-
return (i.canvg ? Promise.resolve(i.canvg) : import("./index.es-
|
|
59233
|
+
return (i.canvg ? Promise.resolve(i.canvg) : import("./index.es-12f92d44.mjs")).catch(function(He) {
|
|
59228
59234
|
return Promise.reject(new Error("Could not load canvg: " + He));
|
|
59229
59235
|
}).then(function(He) {
|
|
59230
59236
|
return He.default ? He.default : He;
|
package/dist/index.mjs
CHANGED