diff --git a/src/data/entities/D2Survey.ts b/src/data/entities/D2Survey.ts index d272c6df..641a7bf1 100644 --- a/src/data/entities/D2Survey.ts +++ b/src/data/entities/D2Survey.ts @@ -5,7 +5,7 @@ import { Id } from "../../domain/entities/Ref"; export const PPS_SURVEY_FORM_ID = "OGOw5Kt3ytv"; export const PPS_COUNTRY_QUESTIONNAIRE_ID = "a4aYe2Eoaul"; export const PPS_HOSPITAL_FORM_ID = "mesnCzaLc7u"; -export const PPS_PATIENT_REGISTER_ID = "GWcT6PN9NmI"; +export const PPS_PATIENT_REGISTER_ID = "ceSJyvSGyHm"; export const PPS_WARD_REGISTER_ID = "aIyAtgpYYrS"; //PPS Data element Ids @@ -13,14 +13,14 @@ export const START_DATE_DATAELEMENT_ID = "OmkxlG2rNw3"; export const SURVEY_TYPE_DATAELEMENT_ID = "Oyi27xcPzAY"; export const SURVEY_COMPLETED_DATAELEMENT_ID = "KuGRIx3I16f"; export const SURVEY_ID_DATAELEMENT_ID = "JHw6Hs0T2Lb"; -export const SURVEY_ID_PATIENT_DATAELEMENT_ID = "X2EkNfUHANO"; -export const WARD_ID_DATAELEMENT_ID = "o4YMhVrXTeG"; +export const SURVEY_ID_PATIENT_TEA_ID = "Yc0jYZn0lwa"; +export const WARD_ID_TEA_ID = "pUZFmyeWHZa"; export const WARD2_ID_DATAELEMENT_ID = "aSI3ZfIb3YS"; export const SURVEY_NAME_DATAELEMENT_ID = "mEQnAQQjdO8"; export const SURVEY_HOSPITAL_CODE_DATAELEMENT_ID = "uAe6Mlw2XlE"; export const SURVEY_WARD_CODE_DATAELEMENT_ID = "q4mg5z04dzd"; -export const SURVEY_PATIENT_CODE_DATAELEMENT_ID = "yScrOW1eTvm"; -export const SURVEY_PATIENT_ID_DATAELEMENT_ID = "eKUbBRlR684"; +export const SURVEY_PATIENT_CODE_TEA_ID = "qX450py29V3"; +export const SURVEY_PATIENT_ID_TEA_ID = "HkBG3DVELBM"; //Prevalence Program Ids export const PREVALENCE_SURVEY_FORM_ID = "WcSw803XiUk"; @@ -72,6 +72,7 @@ export const PREVALENCE_CENTRAL_REF_LAB_TET = "yqa88gKCdV8"; export const PREVALENCE_PATHOGEN_ISOLATES_TET = "aWIdBmjFWF0"; export const PREVALENCE_SUPRANATIONAL_TET = "KQMBM3q32FC"; export const PREVALENCE_MORTALITY_FOLLOW_UP_TET = "m8YpTxNjHbn"; +export const PPS_PATIENT_TET = "EHN9A3tEP5s"; type SURVEY_DATA_ELEMENT_KEYS = | "startDate" @@ -105,7 +106,7 @@ export const keyToDataElementMap: SurveyKeyDataElementMapType[] = [ key: "parentPPSSurveyId", dataElements: [ SURVEY_ID_DATAELEMENT_ID, - SURVEY_ID_PATIENT_DATAELEMENT_ID, + SURVEY_ID_PATIENT_TEA_ID, AMR_SURVEYS_PREVALENCE_DEA_SURVEY_ID, ], }, @@ -115,9 +116,9 @@ export const keyToDataElementMap: SurveyKeyDataElementMapType[] = [ }, { key: "hospitalCode", dataElements: [SURVEY_HOSPITAL_CODE_DATAELEMENT_ID] }, { key: "wardCode", dataElements: [SURVEY_WARD_CODE_DATAELEMENT_ID] }, - { key: "patientId", dataElements: [SURVEY_PATIENT_ID_DATAELEMENT_ID] }, - { key: "patientCode", dataElements: [SURVEY_PATIENT_CODE_DATAELEMENT_ID] }, - { key: "parentWardRegisterId", dataElements: [WARD_ID_DATAELEMENT_ID] }, + { key: "patientId", dataElements: [SURVEY_PATIENT_ID_TEA_ID] }, + { key: "patientCode", dataElements: [SURVEY_PATIENT_CODE_TEA_ID] }, + { key: "parentWardRegisterId", dataElements: [WARD_ID_TEA_ID] }, { key: "uniqueSurveyPatientId", dataElements: [AMR_SURVEYS_PREVALENCE_TEA_UNIQUE_PATIENT_ID] }, { key: "astGuideline", dataElements: [AMR_SURVEYS_PREVALENCE_DEA_AST_GUIDELINES] }, { key: "customAstGuideline", dataElements: [AMR_SURVEYS_PREVALENCE_DEA_CUSTOM_AST_GUIDE] }, diff --git a/src/data/repositories/PaginatedSurveyD2Repository.ts b/src/data/repositories/PaginatedSurveyD2Repository.ts index 54d4879b..6be53d16 100644 --- a/src/data/repositories/PaginatedSurveyD2Repository.ts +++ b/src/data/repositories/PaginatedSurveyD2Repository.ts @@ -12,9 +12,9 @@ import { AMR_SURVEYS_PREVALENCE_TEA_UNIQUE_PATIENT_ID, PPS_PATIENT_REGISTER_ID, PREVALENCE_CASE_REPORT_FORM_ID, - SURVEY_PATIENT_CODE_DATAELEMENT_ID, - SURVEY_PATIENT_ID_DATAELEMENT_ID, - WARD_ID_DATAELEMENT_ID, + SURVEY_PATIENT_CODE_TEA_ID, + SURVEY_PATIENT_ID_TEA_ID, + WARD_ID_TEA_ID, } from "../entities/D2Survey"; import { mapEventToSurvey, mapTrackedEntityToSurvey } from "../utils/surveyListMappers"; import { getSurveyChildCount, SurveyChildCountType } from "../utils/surveyChildCountHelper"; @@ -49,7 +49,6 @@ export class PaginatedSurveyD2Repository implements PaginatedSurveyRepository { ); } - //Currently tracker programs are only in Prevalence module getTrackerProgramSurveys( surveyFormType: SURVEY_FORM_TYPES, programId: Id, @@ -107,7 +106,7 @@ export class PaginatedSurveyD2Repository implements PaginatedSurveyRepository { page: page + 1, pageSize, totalPages: true, - filter: `${WARD_ID_DATAELEMENT_ID}:eq:${parentId}`, + filter: `${WARD_ID_TEA_ID}:eq:${parentId}`, }) ).flatMap(response => { const events = response.instances; @@ -133,24 +132,22 @@ export class PaginatedSurveyD2Repository implements PaginatedSurveyRepository { parentId: Id ): FutureData> { return apiToFuture( - this.api.tracker.events.get({ - fields: { $all: true }, - orgUnit: orgUnitId, + this.api.tracker.trackedEntities.get({ + fields: { attributes: true, enrollments: true, trackedEntity: true, orgUnit: true }, program: PPS_PATIENT_REGISTER_ID, + orgUnit: orgUnitId, pageSize: 10, totalPages: true, - filter: ` ${SURVEY_PATIENT_ID_DATAELEMENT_ID}:like:${keyword}, ${WARD_ID_DATAELEMENT_ID}:eq:${parentId}`, + filter: ` ${SURVEY_PATIENT_ID_TEA_ID}:like:${keyword}, ${WARD_ID_TEA_ID}:eq:${parentId}`, }) - ).flatMap(response => { - const events = response.instances; - - const surveys = mapEventToSurvey(events, "PPSPatientRegister", PPS_PATIENT_REGISTER_ID); + ).flatMap(trackedEntities => { + const surveys = mapTrackedEntityToSurvey(trackedEntities, "PPSPatientRegister"); const paginatedSurveys: PaginatedReponse = { pager: { - page: response.page, - pageSize: response.pageSize, - total: surveys.length, + page: trackedEntities.page, + pageSize: trackedEntities.pageSize, + total: trackedEntities.total, }, objects: surveys, }; @@ -165,24 +162,22 @@ export class PaginatedSurveyD2Repository implements PaginatedSurveyRepository { parentId: Id ): FutureData> { return apiToFuture( - this.api.tracker.events.get({ - fields: { $all: true }, - orgUnit: orgUnitId, + this.api.tracker.trackedEntities.get({ + fields: { attributes: true, enrollments: true, trackedEntity: true, orgUnit: true }, program: PPS_PATIENT_REGISTER_ID, + orgUnit: orgUnitId, pageSize: 10, totalPages: true, - filter: ` ${SURVEY_PATIENT_CODE_DATAELEMENT_ID}:like:${keyword}, ${WARD_ID_DATAELEMENT_ID}:eq:${parentId}`, + filter: ` ${SURVEY_PATIENT_CODE_TEA_ID}:like:${keyword}, ${WARD_ID_TEA_ID}:eq:${parentId}`, }) - ).flatMap(response => { - const events = response.instances; - - const surveys = mapEventToSurvey(events, "PPSPatientRegister", PPS_PATIENT_REGISTER_ID); + ).flatMap(trackedEntities => { + const surveys = mapTrackedEntityToSurvey(trackedEntities, "PPSPatientRegister"); const paginatedSurveys: PaginatedReponse = { pager: { - page: response.page, - pageSize: response.pageSize, - total: surveys.length, + page: trackedEntities.page, + pageSize: trackedEntities.pageSize, + total: trackedEntities.total, }, objects: surveys, }; diff --git a/src/data/repositories/SurveyFormD2Repository.ts b/src/data/repositories/SurveyFormD2Repository.ts index c005153e..62ceab7b 100644 --- a/src/data/repositories/SurveyFormD2Repository.ts +++ b/src/data/repositories/SurveyFormD2Repository.ts @@ -111,7 +111,8 @@ export class SurveyD2Repository implements SurveyRepository { //If event specified,populate the form if (eventId) { if (isTrackerProgram(programId)) { - if (!orgUnitId) return Future.error(new Error("Survey not found")); + if (!orgUnitId && programId !== PPS_PATIENT_REGISTER_ID) + return Future.error(new Error("Survey not found")); return this.getTrackerProgramById(eventId, programId).flatMap( trackedEntity => { if (resp.programs[0] && trackedEntity) { @@ -249,7 +250,8 @@ export class SurveyD2Repository implements SurveyRepository { orgUnitId: Id ): FutureData { const ouMode = - orgUnitId !== "" && programId === PREVALENCE_FACILITY_LEVEL_FORM_ID + (orgUnitId !== "" && programId === PREVALENCE_FACILITY_LEVEL_FORM_ID) || + programId === PPS_PATIENT_REGISTER_ID ? "DESCENDANTS" : undefined; @@ -302,9 +304,7 @@ export class SurveyD2Repository implements SurveyRepository { ): FutureData { const ouMode = orgUnitId !== "" && - (programId === PPS_WARD_REGISTER_ID || - programId === PPS_HOSPITAL_FORM_ID || - programId === PPS_PATIENT_REGISTER_ID) + (programId === PPS_WARD_REGISTER_ID || programId === PPS_HOSPITAL_FORM_ID) ? "DESCENDANTS" : undefined; return apiToFuture( @@ -326,7 +326,7 @@ export class SurveyD2Repository implements SurveyRepository { programId: Id, orgUnitId: Id | undefined ): FutureData { - if (isTrackerProgram(programId) && !orgUnitId) + if (isTrackerProgram(programId) && !orgUnitId && programId !== PPS_PATIENT_REGISTER_ID) return Future.error(new Error("Unable to find survey")); return this.getForm(programId, eventId, orgUnitId); } diff --git a/src/data/utils/questionHelper.ts b/src/data/utils/questionHelper.ts index a9e7cd16..6c79834e 100644 --- a/src/data/utils/questionHelper.ts +++ b/src/data/utils/questionHelper.ts @@ -31,9 +31,9 @@ import { AMR_SURVEYS_PREVALENCE_TEA_SURVEY_ID_SSTF, SURVEY_ID_DATAELEMENT_ID, SURVEY_ID_FACILITY_LEVEL_DATAELEMENT_ID, - SURVEY_ID_PATIENT_DATAELEMENT_ID, + SURVEY_ID_PATIENT_TEA_ID, WARD2_ID_DATAELEMENT_ID, - WARD_ID_DATAELEMENT_ID, + WARD_ID_TEA_ID, } from "../entities/D2Survey"; import _ from "../../domain/entities/generic/Collection"; import { D2TrackerEvent } from "@eyeseetea/d2-api/api/trackerEvents"; @@ -282,8 +282,6 @@ export const mapProgramDataElementToQuestions = ( if ( currentQuestion && (currentQuestion.id === SURVEY_ID_DATAELEMENT_ID || - currentQuestion.id === SURVEY_ID_PATIENT_DATAELEMENT_ID || - currentQuestion.id === WARD_ID_DATAELEMENT_ID || currentQuestion.id === WARD2_ID_DATAELEMENT_ID || currentQuestion.id === AMR_SURVEYS_PREVALENCE_DEA_SURVEY_ID) ) { @@ -375,7 +373,9 @@ export const mapTrackedAttributesToQuestions = ( currentQuestion.id === AMR_SURVEYS_PREVALENCE_TEA_PATIENT_IDA19 || currentQuestion.id === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_FUP2 || currentQuestion.id === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_DF2 || - currentQuestion.id === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_COH2) + currentQuestion.id === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_COH2 || + currentQuestion.id === SURVEY_ID_PATIENT_TEA_ID || + currentQuestion.id === WARD_ID_TEA_ID) ) { currentQuestion.disabled = true; } diff --git a/src/data/utils/surveyChildCountHelper.ts b/src/data/utils/surveyChildCountHelper.ts index 186d2bcc..d0e0696b 100644 --- a/src/data/utils/surveyChildCountHelper.ts +++ b/src/data/utils/surveyChildCountHelper.ts @@ -10,6 +10,7 @@ import { Future } from "../../domain/entities/generic/Future"; import { PPS_COUNTRY_QUESTIONNAIRE_ID, PPS_HOSPITAL_FORM_ID, + PPS_PATIENT_REGISTER_ID, PREVALENCE_FACILITY_LEVEL_FORM_ID, } from "../entities/D2Survey"; import { D2Api } from "@eyeseetea/d2-api/2.36"; @@ -38,7 +39,20 @@ export const getSurveyChildCount = ( const isTracker = isTrackerProgram(childId); if (isTracker) { - if (childIds.type === "singleChild") { + if ( + childIds.type === "singleChild" && + childId === PPS_PATIENT_REGISTER_ID && + secondaryparentId + ) { + const eventCount = getTrackerSurveyCount( + childId, + orgUnitId, + secondaryparentId, + api + ); + + return { type: "value", value: eventCount }; + } else if (childIds.type === "singleChild") { const eventCount = getTrackerSurveyCount(childId, orgUnitId, parentSurveyId, api); return { type: "value", value: eventCount }; diff --git a/src/data/utils/surveyListMappers.ts b/src/data/utils/surveyListMappers.ts index cac82819..8f6d4b44 100644 --- a/src/data/utils/surveyListMappers.ts +++ b/src/data/utils/surveyListMappers.ts @@ -21,6 +21,10 @@ import { AMR_SURVEYS_MORTALITY_TEA_SURVEY_ID_DF, AMR_SURVEYS_MORTALITY_TEA_SURVEY_ID_COH, AMR_SURVEYS_PREVALENCE_TEA_HOSPITAL_ID, + SURVEY_ID_PATIENT_TEA_ID, + SURVEY_PATIENT_ID_TEA_ID, + WARD_ID_TEA_ID, + SURVEY_PATIENT_CODE_TEA_ID, } from "../entities/D2Survey"; import { D2TrackerEvent } from "@eyeseetea/d2-api/api/trackerEvents"; import { getSurveyNameBySurveyFormType } from "./surveyProgramHelper"; @@ -45,6 +49,10 @@ export const mapTrackedEntityToSurvey = ( attribute.attribute === AMR_SURVEYS_MORTALITY_TEA_SURVEY_ID_COH )?.value ?? ""; + const parentPPSSurveyId = + trackedEntity.attributes?.find(attr => attr.attribute === SURVEY_ID_PATIENT_TEA_ID) + ?.value ?? ""; + const patientId = trackedEntity.attributes?.find( attribute => @@ -54,7 +62,13 @@ export const mapTrackedEntityToSurvey = ( attribute.attribute === AMR_SURVEYS_PREVALENCE_TEA_PATIENT_IDA19 || attribute.attribute === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_FUP2 || attribute.attribute === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_DF2 || - attribute.attribute === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_COH2 + attribute.attribute === AMR_SURVEYS_MORTALITY_TEA_PAT_ID_COH2 || + attribute.attribute === SURVEY_PATIENT_ID_TEA_ID + )?.value ?? ""; + + const patientCode = + trackedEntity.attributes?.find( + attribute => attribute.attribute === SURVEY_PATIENT_CODE_TEA_ID )?.value ?? ""; const facilityCode = @@ -62,11 +76,18 @@ export const mapTrackedEntityToSurvey = ( attribute => attribute.attribute === AMR_SURVEYS_PREVALENCE_TEA_HOSPITAL_ID )?.value ?? ""; + const parentWardId = + trackedEntity.attributes?.find(attribute => attribute.attribute === WARD_ID_TEA_ID) + ?.value ?? ""; + const survey: Survey = { id: trackedEntity.trackedEntity ?? "", name: trackedEntity.trackedEntity ?? "", rootSurvey: { - id: parentPrevalenceSurveyId ?? "", + id: + surveyFormType === "PPSPatientRegister" + ? parentPPSSurveyId + : parentPrevalenceSurveyId, name: "", surveyType: "", }, @@ -77,10 +98,10 @@ export const mapTrackedEntityToSurvey = ( name: trackedEntity.enrollments?.[0]?.orgUnitName ?? "", }, surveyType: "", - parentWardRegisterId: undefined, + parentWardRegisterId: parentWardId, surveyFormType: surveyFormType, childCount: undefined, - uniquePatient: { id: patientId, code: "" }, + uniquePatient: { id: patientId, code: patientCode }, facilityCode: facilityCode, }; return survey; diff --git a/src/data/utils/surveyProgramHelper.ts b/src/data/utils/surveyProgramHelper.ts index ef498edc..09d4322c 100644 --- a/src/data/utils/surveyProgramHelper.ts +++ b/src/data/utils/surveyProgramHelper.ts @@ -22,7 +22,7 @@ import { PREVALENCE_SURVEY_FORM_ID, SURVEY_ID_DATAELEMENT_ID, SURVEY_ID_FACILITY_LEVEL_DATAELEMENT_ID, - WARD_ID_DATAELEMENT_ID, + WARD_ID_TEA_ID, PREVALENCE_MORTALITY_FOLLOWUP_FORM_D28, PREVALENCE_MORTALITY_DISCHARGE_FORM, PREVALENCE_MORTALITY_COHORT_ENORL_FORM, @@ -33,6 +33,7 @@ import { AMR_SURVEYS_MORTALITY_TEA_PAT_ID_DF2, AMR_SURVEYS_MORTALITY_TEA_PAT_ID_COH2, AMR_SURVEYS_PREVALENCE_TEA_AMRPATIENT_IDPREVALENCE, + PPS_PATIENT_TET, } from "../entities/D2Survey"; export const isTrackerProgram = (programId: Id) => { @@ -46,6 +47,7 @@ export const isTrackerProgram = (programId: Id) => { case PREVALENCE_MORTALITY_FOLLOWUP_FORM_D28: case PREVALENCE_MORTALITY_DISCHARGE_FORM: case PREVALENCE_MORTALITY_COHORT_ENORL_FORM: + case PPS_PATIENT_REGISTER_ID: return true; default: return false; @@ -70,6 +72,8 @@ export const getTrackedEntityAttributeType = (programId: Id) => { case PREVALENCE_MORTALITY_DISCHARGE_FORM: case PREVALENCE_MORTALITY_COHORT_ENORL_FORM: return PREVALENCE_MORTALITY_FOLLOW_UP_TET; + case PPS_PATIENT_REGISTER_ID: + return PPS_PATIENT_TET; default: return ""; @@ -130,7 +134,7 @@ export const getParentDataElementForProgram = (programId: Id): Id => { case PPS_WARD_REGISTER_ID: return SURVEY_ID_DATAELEMENT_ID; case PPS_PATIENT_REGISTER_ID: - return WARD_ID_DATAELEMENT_ID; + return WARD_ID_TEA_ID; default: return ""; diff --git a/src/domain/usecases/GetSurveyUseCase.ts b/src/domain/usecases/GetSurveyUseCase.ts index 72c4c8e3..b97b80cc 100644 --- a/src/domain/usecases/GetSurveyUseCase.ts +++ b/src/domain/usecases/GetSurveyUseCase.ts @@ -16,9 +16,10 @@ import { AMR_SURVEYS_PREVALENCE_TEA_SURVEY_ID_SSTF, SURVEY_ID_DATAELEMENT_ID, SURVEY_ID_FACILITY_LEVEL_DATAELEMENT_ID, - SURVEY_ID_PATIENT_DATAELEMENT_ID, - WARD_ID_DATAELEMENT_ID, + SURVEY_ID_PATIENT_TEA_ID, + WARD_ID_TEA_ID, } from "../../data/entities/D2Survey"; +import { isTrackerProgram } from "../../data/utils/surveyProgramHelper"; import { Future } from "../entities/generic/Future"; import { Questionnaire, @@ -62,26 +63,53 @@ export class GetSurveyUseCase { return this.surveyReporsitory .getForm(programId, undefined, undefined) .flatMap(questionnaire => { - if (questionnaire.stages && questionnaire.stages[0]) { + if (isTrackerProgram(programId) && questionnaire.entity) { + const updatedEntityQuestions: Question[] = questionnaire.entity.questions.map( + question => { + if ( + question.id === WARD_ID_TEA_ID && + parentWardRegisterId && + question.type === "text" + ) { + return { + ...question, + value: parentWardRegisterId, + }; + } else if ( + question.id === SURVEY_ID_PATIENT_TEA_ID && + question.type === "text" && + parentPPSSurveyId + ) { + return { + ...question, + value: parentPPSSurveyId, + }; + } else return question; + } + ); + + const updatedEntity: QuestionnaireEntity = { + ...questionnaire.entity, + questions: updatedEntityQuestions, + }; + + return Future.success( + Questionnaire.updateQuestionnaireEntity(questionnaire, updatedEntity) + ); + } else if (questionnaire.stages && questionnaire.stages[0]) { const updatedSections: QuestionnaireSection[] = questionnaire.stages[0].sections.map(section => { - //PPS Questionnaires have only 1 stage - const isSurveyIdOrWardIdSection = + //PPS Event Program Questionnaires have only 1 stage + const isSurveyIdSection = section.questions.find( - question => - question.id === SURVEY_ID_DATAELEMENT_ID || - question.id === SURVEY_ID_PATIENT_DATAELEMENT_ID || - question.id === WARD_ID_DATAELEMENT_ID + question => question.id === SURVEY_ID_DATAELEMENT_ID ) !== undefined; - if (isSurveyIdOrWardIdSection) { + if (isSurveyIdSection) { const updatedQuestions: Question[] = section.questions.map( question => { const isSurveyIdQuestion = - question.id === SURVEY_ID_DATAELEMENT_ID || - question.id === SURVEY_ID_PATIENT_DATAELEMENT_ID; - const isWardIdQuestion = - question.id === WARD_ID_DATAELEMENT_ID; + question.id === SURVEY_ID_DATAELEMENT_ID; if (isSurveyIdQuestion && question.type === "text") { //Survey Id Question, pre-populate value to parent survey id @@ -90,13 +118,6 @@ export class GetSurveyUseCase { value: parentPPSSurveyId, }; return updatedSurveyIdQuestion; - } else if (isWardIdQuestion && question.type === "text") { - //Survey Id Question, pre-populate value to parent survey id - const updatedWardIdQuestion: Question = { - ...question, - value: parentWardRegisterId, - }; - return updatedWardIdQuestion; } else { //Not survey id question, return without any update return question; @@ -120,7 +141,10 @@ export class GetSurveyUseCase { }; return Future.success( - Questionnaire.updateQuestionnaireStages(questionnaire, [updatedStage]) + Questionnaire.updateQuestionnaireStages(questionnaire, [ + ...questionnaire.stages, + updatedStage, + ]) ); } else { return Future.success(questionnaire); diff --git a/src/webapp/hooks/useSurveys.ts b/src/webapp/hooks/useSurveys.ts index 79dd81d7..ad725c2a 100644 --- a/src/webapp/hooks/useSurveys.ts +++ b/src/webapp/hooks/useSurveys.ts @@ -87,6 +87,8 @@ export function useSurveys(surveyFormType: SURVEY_FORM_TYPES) { surveyFormType === "PrevalenceSampleShipTrackForm" || surveyFormType === "PrevalenceSupranationalRefLabForm" ? currentPrevalenceSurveyForm?.id + : surveyFormType === "PPSPatientRegister" + ? currentWardRegister?.id : currentPPSSurveyForm?.id; const orgUnitId = getOrgUnitByFormType();