Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

from develop #1

Merged
merged 53 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
30f160e
Increase width of medical history text area in patient registration f…
abhip161 Oct 21, 2024
b9d7801
Added a page to list 3rd Party Licenses (#8748)
tellmeY18 Oct 21, 2024
684b9ad
Uninstall react-redux and axios (#8731)
rithviknishad Oct 21, 2024
7ea31d3
Improve validation check for phone number in patient list page #8189…
Nithin9585 Oct 21, 2024
06e853c
fixed the age format in shifting board (#8853)
nihal467 Oct 21, 2024
146b5b1
Add tooltip for Discussion Notes Icons #8618 (#8837)
syedfardeenjeelani Oct 22, 2024
494a4b9
Add validation for Insurance fields in Patient Registration Form (#8836)
syedfardeenjeelani Oct 22, 2024
2b8470c
Fixed Misaligned text when there's no data (#8807)
nithish1018 Oct 22, 2024
c23b16c
Fix comment overflow and ensure content fits within div (#8722)
chakribontha Oct 22, 2024
7bf94f7
Switch to using OHC domain for plausible (#8862)
rithviknishad Oct 22, 2024
e653318
Removed the duplicate code in the patient details page (#8868)
nihal467 Oct 22, 2024
5b3a86a
Allow users to set profile pictures (#8606)
sainak Oct 22, 2024
b1a1fad
Remove asset detail popup in asset configure's camera feed (#8855)
Rishith25 Oct 22, 2024
31e4ad5
Fixed incorrect redirection after adding lab result and aligned view …
Mahendar0701 Oct 22, 2024
30ae500
First added diagnosis in create consultation removal (#8851)
Mahendar0701 Oct 22, 2024
8c2ef01
Bed management UI enhancement (#8839)
Jacobjeevan Oct 22, 2024
bd35fa8
Add Blur Method to Improve Component Focus Handling (#8890)
JavidSumra Oct 23, 2024
3f4069a
Fixed the flaky test in patient registration test (#8893)
nihal467 Oct 23, 2024
7e15e3c
Refactor Directory Names for Common, Components (#8888)
gigincg Oct 23, 2024
9849ab0
fixes text overflow in resource details page (#8904)
Keerthilochankumar Oct 23, 2024
5502433
Ventilator mode/Oxygen modality data as exclusive of each other (#8852)
Jacobjeevan Oct 23, 2024
160f745
Remove redundant API calls in Vitals tab (#8864)
Jacobjeevan Oct 23, 2024
594c0d8
Hide locations with no monitors in CNS page (#8812)
Jacobjeevan Oct 23, 2024
ed3c32a
Add field validation to resolve the Update Profile Issue (#8809)
JavidSumra Oct 23, 2024
a0490fd
Adds support for `useMutation` hook (#8891)
rithviknishad Oct 24, 2024
7eee0ff
Disable abha number linking when health facility id is not present (#…
khavinshankar Oct 24, 2024
a636843
enable livekit plugin; fixed dockerfile (#8910)
tellmeY18 Oct 24, 2024
c62b36d
Fixes security issue with Avatar Edit Modal (#8917)
rithviknishad Oct 24, 2024
60f02ee
Fixed the pagination at bed management page (#8928)
nihal467 Oct 25, 2024
59056d0
Fix the loading state when avatar upload fails (#8881)
nithish1018 Oct 27, 2024
20892e0
Conditionally disable Manage bed button in Location Management Page #…
abhip161 Oct 27, 2024
5ef6740
Better UI for events log and tab switch (#8825)
JOSHIK27 Oct 27, 2024
9a0d27b
Round off the PCO2 values to nearest integer in log update (#8776)
Jacobjeevan Oct 27, 2024
b9aff5e
Resolve permission handling Issues in microphone and camera capture d…
shauryag2002 Oct 27, 2024
eeed897
Fixed session-expired page view and minor improvments (#8939)
nithish1018 Oct 28, 2024
8eb4dc4
Added support for time in dateinput component (#8504)
shivankacker Oct 28, 2024
01b6903
Added UserAvatar in userlist and users page (#8912)
noufalrahim Oct 28, 2024
bc15ed9
Show avatar in autocomplete conditionally (#8948)
khavinshankar Oct 28, 2024
0925884
Fix Export Button Overflow (#8931)
JavidSumra Oct 29, 2024
a971668
Removed Avatar from AutoCompleteField (#8959)
AdityaJ2305 Oct 30, 2024
c9343d5
update lodash imports to be tree shakable (#8962)
sainak Oct 30, 2024
09b12e1
Updated UI for list view for Resources and Shifting (#8934)
shivankacker Oct 30, 2024
cb6dc92
Facility staff management bug fixes (#8952)
Jacobjeevan Oct 30, 2024
eb2c702
HCX Plug FE (#8943)
khavinshankar Oct 30, 2024
ee4f2fb
Fix avatars with initials in webkit (#8947)
sainak Oct 30, 2024
d8bcde0
Fixed resource and shifting tabs (#8899)
nithish1018 Oct 30, 2024
a0e6e62
Fix#8815 fixed clear button functionaly and center aligned arrow drop…
NitinPSingh Oct 30, 2024
3757705
fixes "Created-at" section peeping out of "Doctor's discussion" (#8796)
Sulochan-khadka Nov 2, 2024
764cfe3
resolves age field NaN issue for shifting patient copy to clipboard (…
mnshrm Nov 2, 2024
5877d9b
Reduce the cypress GitHub runner utilization to 4 (#8987)
nihal467 Nov 4, 2024
1e00ba9
fixed: sample details page button position (#8970)
modamaan Nov 5, 2024
a65d7ec
Adding of clear and cancel button in create preset form (#8921)
Rishith25 Nov 5, 2024
6b57124
Fixed delete button size in asset details & consent record pages (#8996)
nihal467 Nov 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .cursorrules
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ Care uses a custom useQuery hook to fetch data from the API. APIs are defined in
Here's an example of how to use the useQuery hook to fetch data from the API:

```
useQuery from "@/Common/hooks/useQuery";
useQuery from "@/common/hooks/useQuery";
const { data, loading, error } = useQuery(routes.getFacilityUsers, {
facility_id: "1",
});

request from "@/Common/utils/request";
request from "@/common/utils/request";
const { res } = await request(routes.partialUpdateAsset, {
pathParams: { external_id: assetId },
body: data,
Expand Down
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ build
.dockerignore
Dockerfile
.git
apps
4 changes: 3 additions & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ REACT_CARE_API_URL=https://careapi.ohc.network
# Dev envs
ESLINT_NO_DEV_ERRORS=true
CARE_CDN_URL="https://egov-s3-facility-10bedicu.s3.amazonaws.com https://egov-s3-patient-data-10bedicu.s3.amazonaws.com http://localhost:4566"
REACT_ALLOWED_LOCALES="en,hi,ta,ml,mr,kn"
REACT_ALLOWED_LOCALES="en,hi,ta,ml,mr,kn"

REACT_ENABLED_APPS="ohcnetwork/care_livekit_fe@main"
2 changes: 1 addition & 1 deletion .example.env
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ REACT_OHCN_URL=
# Plausible site domain (default: care.ohc.network)
REACT_PLAUSIBLE_SITE_DOMAIN=

# Plausible server URL (default: https://plausible.10bedicu.in)
# Plausible server URL (default: https://plausible.ohc.network)
REACT_PLAUSIBLE_SERVER_URL=

# Care Apps. repo@branch seperated by commas
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/cypress.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Cypress Tests

on:
schedule:
- cron: "30 22 * * *"
pull_request:
branches:
- develop
Expand All @@ -17,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
containers: [1, 2, 3, 4, 5, 6, 7, 8]
containers: [1, 2, 3, 4]
env:
REACT_CARE_API_URL: http://localhost:9000
steps:
Expand Down Expand Up @@ -136,4 +134,4 @@ jobs:
if: steps.pr_origin.outputs.is_forked == 'true'
with:
name: cypress-videos
path: cypress/videos
path: cypress/videos
32 changes: 32 additions & 0 deletions .github/workflows/generate-sbom.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Generate SBOM using CycloneDX

on:
workflow_dispatch:

jobs:
generate-sbom:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Install dependencies
run: npm ci

- name: Install CycloneDX NPM tool
run: npm install -g @cyclonedx/cyclonedx-npm

- name: Generate SBOM
run: cyclonedx-npm --output-file sbom.json

- name: Upload SBOM
uses: actions/upload-artifact@v3
with:
name: sbom
path: sbom.json
if-no-files-found: error
7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@ WORKDIR /app

ENV NODE_OPTIONS="--max-old-space-size=4096"

RUN if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then apt-get update && apt-get install -y python3-dev make g++; fi
RUN apt-get update && apt-get install -y git

RUN if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then apt-get install -y python3-dev make g++; fi


COPY package.json package-lock.json ./

RUN npm install

COPY . .

RUN npm run setup

RUN npm run build


Expand Down
2 changes: 1 addition & 1 deletion care.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const careConfig = {
// Plugins related configs...

plausible: {
server: env.REACT_PLAUSIBLE_SERVER_URL || "https://plausible.10bedicu.in",
server: env.REACT_PLAUSIBLE_SERVER_URL || "https://plausible.ohc.network",
domain: env.REACT_PLAUSIBLE_SITE_DOMAIN || "care.ohc.network",
},

Expand Down
2 changes: 2 additions & 0 deletions cypress/e2e/assets_spec/AssetHomepage.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ describe("Asset Tab", () => {

it("Next/Previous Page", () => {
assetPagination.navigateToNextPage();
assetPagination.verifyNextUrl();
assetPagination.navigateToPreviousPage();
assetPagination.verifyPreviousUrl();
});

it("Import new asset", () => {
Expand Down
2 changes: 2 additions & 0 deletions cypress/e2e/facility_spec/FacilityHomepage.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ describe("Facility Homepage Function", () => {
it("Search a facility in homepage and pagination", () => {
// pagination of the facility page
assetPagination.navigateToNextPage();
assetPagination.verifyNextUrl();
assetPagination.navigateToPreviousPage();
assetPagination.verifyPreviousUrl();
// search for a facility
manageUserPage.typeFacilitySearch(facilityName);
facilityPage.verifyFacilityBadgeContent(facilityName);
Expand Down
8 changes: 4 additions & 4 deletions cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ describe("Patient Consultation in multiple combination", () => {
patientConsultationPage.selectPatientPrincipalDiagnosis(diagnosis4);
patientTreatmentPlan.clickAddProcedure();
patientTreatmentPlan.typeProcedureName(procedureName);
patientTreatmentPlan.typeProcedureTime("2024-02-22T12:30");
patientTreatmentPlan.typeProcedureTime("220220241230");
patientTreatmentPlan.typeTreatmentPlan(patientTreatment);
patientTreatmentPlan.typePatientGeneralInstruction(generalInstruction);
patientTreatmentPlan.typeSpecialInstruction(specialInstruction);
Expand Down Expand Up @@ -182,12 +182,12 @@ describe("Patient Consultation in multiple combination", () => {
patientConsultationPage.typeCauseOfDeath("Cause of Death");
patientConsultationPage.typePatientConsultationDate(
"#death_datetime",
"2024-02-22T12:45",
"220220241230",
);
patientConsultationPage.typeDeathConfirmedBy(doctorName);
patientConsultationPage.typePatientConsultationDate(
"#encounter_date",
"2024-02-22T12:30",
"220220241230",
);
cy.submitButton("Create Consultation");
cy.verifyNotification(
Expand Down Expand Up @@ -245,7 +245,7 @@ describe("Patient Consultation in multiple combination", () => {
);
patientConsultationPage.typePatientConsultationDate(
"#icu_admission_date",
"2024-02-23T12:30",
"230220241230",
);
// add investigation
patientInvestigation.clickAddInvestigation();
Expand Down
1 change: 1 addition & 0 deletions cypress/e2e/patient_spec/PatientLogUpdate.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => {
cy.closeNotification();
// Submit the doctors log update
cy.submitButton("Save and Continue");
cy.wait(2000);
cy.verifyNotification("Progress Note created successfully");
cy.closeNotification();
// modify the relevant critical care log update
Expand Down
12 changes: 2 additions & 10 deletions cypress/e2e/patient_spec/PatientRegistration.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const getRelativeDateString = (deltaDays = 0) => {
month: "2-digit",
year: "numeric",
})
.replace("/", "");
.replace(/\//g, "");
};

describe("Patient Creation with consultation", () => {
Expand Down Expand Up @@ -239,17 +239,9 @@ describe("Patient Creation with consultation", () => {
patientMedicalHistory.verifyNoSymptosPresent("Diabetes");
// verify insurance details and dedicatd page
cy.get("[data-testid=patient-details]")
.contains(patientOneFirstSubscriberId)
.contains("member id")
.scrollIntoView();
cy.wait(2000);
patientInsurance.verifyPatientPolicyDetails(
patientOneFirstSubscriberId,
patientOneFirstPolicyId,
patientOneFirstInsurerId,
patientOneFirstInsurerName,
isHCXEnabled,
);

patientInsurance.clickPatientInsuranceViewDetail();
cy.wait(3000);
patientInsurance.verifyPatientPolicyDetails(
Expand Down
9 changes: 3 additions & 6 deletions cypress/e2e/users_spec/UsersCreation.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,10 @@ describe("User Creation", () => {
);
userCreationPage.typeIntoElementByIdPostClear("lastName", "Cypress");
userCreationPage.selectDropdownOption("gender", "Male");
userCreationPage.typeIntoElementByIdPostClear(
"phoneNumber",
"+91" + phone_number,
);
userCreationPage.typeIntoElementByIdPostClear("phoneNumber", phone_number);
userCreationPage.typeIntoElementByIdPostClear(
"altPhoneNumber",
"+91" + emergency_phone_number,
emergency_phone_number,
);
userCreationPage.typeIntoElementByIdPostClear("email", "test@test.com");
userCreationPage.typeIntoElementByIdPostClear("weekly_working_hours", "14");
Expand Down Expand Up @@ -148,7 +145,7 @@ describe("User Creation", () => {
userCreationPage.typeIntoElementById("password", "Test@123");
userCreationPage.selectHomeFacility("Dummy Shifting Center");
userCreationPage.typeIntoElementById("phone_number", phone_number);
userCreationPage.setInputDate("date_of_birth", "date-input", "25081999");
userCreationPage.setInputDate("date_of_birth", "25081999");
userCreationPage.selectDropdownOption("user_type", "Doctor");
userCreationPage.typeIntoElementById("c_password", "Test@123");
userCreationPage.typeIntoElementById("qualification", "MBBS");
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/users_spec/UsersProfile.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ describe("Manage User Profile", () => {
const date_of_birth = "01011999";
const gender = "Male";
const email = "test@example.com";
const phone = "+918899887788";
const phone = "8899887788";
const workinghours = "8";
const qualification = "MBBS";
const doctorYoE = "10";
Expand Down
19 changes: 9 additions & 10 deletions cypress/pageobject/Asset/AssetCreation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ export class AssetPage {
cy.get("[data-testid=asset-support-email-input] input").type(supportEmail);
cy.get("[data-testid=asset-vendor-name-input] input").type(vendorName);
cy.get("[data-testid=asset-serial-number-input] input").type(serialNumber);
cy.get(
"[data-testid=asset-last-serviced-on-input] input[type='text']",
).click();
cy.get("#date-input").click().type(lastServicedOn);
cy.clickAndTypeDate(
"[data-testid=asset-last-serviced-on-input]",
lastServicedOn,
);
cy.get("[data-testid=asset-notes-input] textarea").type(notes);
}

Expand Down Expand Up @@ -117,10 +117,10 @@ export class AssetPage {
cy.get("[data-testid=asset-vendor-name-input] input")
.clear()
.type(vendorName);
cy.get(
"[data-testid=asset-last-serviced-on-input] input[type='text']",
).click();
cy.get("#date-input").click().clear().type(lastServicedOn);
cy.clickAndTypeDate(
"[data-testid=asset-last-serviced-on-input]",
lastServicedOn,
);
cy.get("[data-testid=asset-notes-input] textarea").clear().type(notes);
}

Expand Down Expand Up @@ -267,8 +267,7 @@ export class AssetPage {
}

enterAssetservicedate(text: string) {
cy.get("input[name='last_serviced_on']").click();
cy.get("#date-input").click().type(text);
cy.clickAndTypeDate("input[name='last_serviced_on']", text);
}

scrollintoWarrantyDetails() {
Expand Down
6 changes: 6 additions & 0 deletions cypress/pageobject/Asset/AssetPagination.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@ export class AssetPagination {
navigateToNextPage() {
// only works for desktop mode
cy.get("button#next-pages").click();
}

verifyNextUrl() {
cy.url().should("include", "page=2");
}

navigateToPreviousPage() {
// only works for desktop mode
cy.get("button#prev-pages").click();
}

verifyPreviousUrl() {
cy.url().should("include", "page=1");
}
}
5 changes: 2 additions & 3 deletions cypress/pageobject/Facility/FacilityCreation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class FacilityPage {
}

fillAddress(address: string) {
cy.get("#address").click().clear().type(address);
cy.get("#address").click().type(address);
}

fillPhoneNumber(phoneNumber: string) {
Expand Down Expand Up @@ -245,8 +245,7 @@ class FacilityPage {
}

fillEntryDate(date: string) {
cy.get("#entry_date").click();
cy.get("#date-input").click().type(date);
cy.clickAndTypeDate("#entry_date", date);
}

clickEditButton() {
Expand Down
2 changes: 1 addition & 1 deletion cypress/pageobject/Facility/FacilityLocation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class FacilityLocation {
}

clickNotification() {
cy.get(".pnotify").click();
cy.get(".pnotify-container").click();
}

enterBedName(name: string) {
Expand Down
12 changes: 6 additions & 6 deletions cypress/pageobject/Facility/FacilityManage.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
class FacilityManage {
clickCoverImage() {
cy.get("#facility-coverimage").click({ force: true });
cy.get("#facility-coverimage").click();
}

verifyUploadButtonVisible() {
Expand All @@ -13,6 +13,11 @@ class FacilityManage {
.wait(100); // Adjust the wait time as needed
}

clickSaveCoverImage() {
cy.get("#save-cover-image").scrollIntoView();
cy.get("#save-cover-image").click();
}

verifyTotalDoctorCapacity(expectedCapacity: string) {
cy.get("#facility-doctor-totalcapacity").contains(expectedCapacity);
}
Expand All @@ -37,11 +42,6 @@ class FacilityManage {
cy.get("#delete-facility-bedcapacity").click();
}

clickSaveCoverImage() {
cy.get("#save-cover-image").scrollIntoView();
cy.get("#save-cover-image").click();
}

clickFacilityConfigureButton() {
cy.get("#configure-facility").should("be.visible");
cy.get("#configure-facility").click();
Expand Down
2 changes: 1 addition & 1 deletion cypress/pageobject/Patient/PatientConsultation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export class PatientConsultationPage {
}

typePatientConsultationDate(selector: string, date: string) {
cy.get(selector).clear().click().type(date);
cy.clickAndTypeDate(selector, date);
}

clickPatientDetails() {
Expand Down
Loading
Loading