diff --git a/MINT.postman_collection.json b/MINT.postman_collection.json index fe297149cd..b52c8dea2d 100644 --- a/MINT.postman_collection.json +++ b/MINT.postman_collection.json @@ -277,8 +277,8 @@ "body": { "mode": "graphql", "graphql": { - "query": "mutation updatePlanParticipantsAndProviders ($id: UUID!, $changes: PlanParticipantsAndProvidersChanges!) {\n updatePlanParticipantsAndProviders (id: $id, changes: $changes) {\n id\n modelPlanID\n participants\n medicareProviderType\n statesEngagement\n participantsOther\n participantsNote\n participantsCurrentlyInModels\n participantsCurrentlyInModelsNote\n modelApplicationLevel\n expectedNumberOfParticipants\n estimateConfidence\n confidenceNote\n recruitmentMethod\n recruitmentOther\n recruitmentNote\n selectionMethod\n selectionOther\n selectionNote\n communicationMethod\n communicationMethodOther\n communicationNote\n riskType\n riskOther\n riskNote\n willRiskChange\n willRiskChangeNote\n coordinateWork\n coordinateWorkNote\n gainsharePayments\n gainsharePaymentsTrack\n gainsharePaymentsEligibility\n gainsharePaymentsEligibilityOther\n gainsharePaymentsNote\n participantsIds\n participantsIdsOther\n participantsIDSNote\n providerAdditionFrequency\n providerAdditionFrequencyContinually\n providerAdditionFrequencyOther\n providerAdditionFrequencyNote\n providerAddMethod\n providerAddMethodOther\n providerAddMethodNote\n providerLeaveMethod\n providerLeaveMethodOther\n providerLeaveMethodNote\n providerOverlap\n providerOverlapHierarchy\n providerOverlapNote\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n readyForReviewBy\n readyForReviewDts\n readyForClearanceBy\n readyForClearanceDts\n \n createdByUserAccount \n {\n commonName\n } \n modifiedByUserAccount\n {\n commonName\n } \n readyForReviewByUserAccount \n {\n commonName\n }\n readyForClearanceByUserAccount \n {\n commonName\n }\n\n\n status\n }\n}", - "variables": "{\n \"id\": \"{{participantsAndProvidersID}}\",\n \"changes\": {\n \"participants\": [\n \"\"\n ],\n \"medicareProviderType\": \"\",\n \"statesEngagement\": \"\",\n \"participantsOther\": \"\",\n \"participantsNote\": \"\",\n \"participantsCurrentlyInModels\": true,\n \"participantsCurrentlyInModelsNote\": \"\",\n \"modelApplicationLevel\": \"\",\n \"expectedNumberOfParticipants\": 0,\n \"estimateConfidence\": \"\",\n \"confidenceNote\": \"\",\n \"recruitmentMethod\": \"\",\n \"recruitmentOther\": \"\",\n \"recruitmentNote\": \"\",\n \"selectionMethod\": [\n \"\"\n ],\n \"selectionOther\": \"\",\n \"selectionNote\": \"\",\n \"communicationMethod\": [\n \"\"\n ],\n \"communicationMethodOther\": \"\",\n \"communicationNote\": \"\",\n \"riskType\": [\n \"OTHER\"\n ],\n \"riskOther\": \"\",\n \"riskNote\": \"\",\n \"willRiskChange\": true,\n \"willRiskChangeNote\": \"\",\n \"coordinateWork\": true,\n \"coordinateWorkNote\": \"\",\n \"gainsharePayments\": true,\n \"gainsharePaymentsTrack\": true,\n \"gainsharePaymentsNote\": \"\",\n \"gainsharePaymentsEligibility\": [\"\"],\n \"gainsharePaymentsEligibilityOther\": \"\",\n \"participantsIds\": [\n \"\"\n ],\n \"participantsIdsOther\": \"\",\n \"participantsIDSNote\": \"\",\n \"providerAdditionFrequency\": \"CONTINUALLY\",\n \"providerAdditionFrequencyContinually\": \"This is a test continual frequency note\",\n \"providerAdditionFrequencyOther\": \"\",\n \"providerAdditionFrequencyNote\": \"\",\n \"providerAddMethod\": [\n \"\"\n ],\n \"providerAddMethodOther\": \"\",\n \"providerAddMethodNote\": \"\",\n \"providerLeaveMethod\": [\n \"\"\n ],\n \"providerLeaveMethodOther\": \"\",\n \"providerLeaveMethodNote\": \"\",\n \"providerOverlap\": \"\",\n \"providerOverlapHierarchy\": \"\",\n \"providerOverlapNote\": \"\",\n \"status\": \"\"\n }\n}" + "query": "mutation updatePlanParticipantsAndProviders ($id: UUID!, $changes: PlanParticipantsAndProvidersChanges!) {\n updatePlanParticipantsAndProviders (id: $id, changes: $changes) {\n id\n modelPlanID\n participants\n medicareProviderType\n statesEngagement\n participantsOther\n participantsNote\n participantsCurrentlyInModels\n participantsCurrentlyInModelsNote\n modelApplicationLevel\n expectedNumberOfParticipants\n estimateConfidence\n confidenceNote\n recruitmentMethod\n recruitmentOther\n recruitmentNote\n selectionMethod\n selectionOther\n selectionNote\n participantAddedFrequency\n participantAddedFrequencyContinually\n participantAddedFrequencyOther\n participantAddedFrequencyNote\n participantRemovedFrequency\n participantRemovedFrequencyContinually\n participantRemovedFrequencyOther\n participantRemovedFrequencyNote\n communicationMethod\n communicationMethodOther\n communicationNote\n riskType\n riskOther\n riskNote\n willRiskChange\n willRiskChangeNote\n coordinateWork\n coordinateWorkNote\n gainsharePayments\n gainsharePaymentsTrack\n gainsharePaymentsEligibility\n gainsharePaymentsEligibilityOther\n gainsharePaymentsNote\n participantsIds\n participantsIdsOther\n participantsIDSNote\n providerAdditionFrequency\n providerAdditionFrequencyOther\n providerAdditionFrequencyNote\n providerAddMethod\n providerAddMethodOther\n providerAddMethodNote\n providerLeaveMethod\n providerLeaveMethodOther\n providerLeaveMethodNote\n providerOverlap\n providerOverlapHierarchy\n providerOverlapNote\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n readyForReviewBy\n readyForReviewDts\n readyForClearanceBy\n readyForClearanceDts\n \n createdByUserAccount \n {\n commonName\n } \n modifiedByUserAccount\n {\n commonName\n } \n readyForReviewByUserAccount \n {\n commonName\n }\n readyForClearanceByUserAccount \n {\n commonName\n }\n\n\n status\n }\n}", + "variables": "{\n \"id\": \"{{participantsAndProvidersID}}\",\n \"changes\": {\n \"participants\": [\n \"\"\n ],\n \"medicareProviderType\": \"\",\n \"statesEngagement\": \"\",\n \"participantsOther\": \"\",\n \"participantsNote\": \"\",\n \"participantsCurrentlyInModels\": true,\n \"participantsCurrentlyInModelsNote\": \"\",\n \"modelApplicationLevel\": \"\",\n \"expectedNumberOfParticipants\": 0,\n \"estimateConfidence\": \"\",\n \"confidenceNote\": \"\",\n \"recruitmentMethod\": \"\",\n \"recruitmentOther\": \"\",\n \"recruitmentNote\": \"\",\n \"selectionMethod\": [\n \"\"\n ],\n \"selectionOther\": \"\",\n \"selectionNote\": \"\",\n \"participantAddedFrequency\": [\n \"\"\n ],\n \"participantAddedFrequencyContinually\": \"\",\n \"participantAddedFrequencyOther\": \"\",\n \"participantAddedFrequencyNote\": \"\",\n \"participantRemovedFrequency\": [\n \"\"\n ], \n \"participantRemovedFrequencyContinually\": \"\",\n \"participantRemovedFrequencyOther\": \"\",\n \"participantRemovedFrequencyNote\": \"\",\n \"communicationMethod\": [\n \"\"\n ],\n \"communicationMethodOther\": \"\",\n \"communicationNote\": \"\",\n \"riskType\": [\n \"OTHER\"\n ],\n \"riskOther\": \"\",\n \"riskNote\": \"\",\n \"willRiskChange\": true,\n \"willRiskChangeNote\": \"\",\n \"coordinateWork\": true,\n \"coordinateWorkNote\": \"\",\n \"gainsharePayments\": true,\n \"gainsharePaymentsTrack\": true,\n \"gainsharePaymentsNote\": \"\",\n \"gainsharePaymentsEligibility\": [\"\"],\n \"gainsharePaymentsEligibilityOther\": \"\",\n \"participantsIds\": [\n \"\"\n ],\n \"participantsIdsOther\": \"\",\n \"participantsIDSNote\": \"\",\n \"providerAdditionFrequency\": \"\",\n \"providerAdditionFrequencyOther\": \"\",\n \"providerAdditionFrequencyNote\": \"\",\n \"providerAddMethod\": [\n \"\"\n ],\n \"providerAddMethodOther\": \"\",\n \"providerAddMethodNote\": \"\",\n \"providerLeaveMethod\": [\n \"\"\n ],\n \"providerLeaveMethodOther\": \"\",\n \"providerLeaveMethodNote\": \"\",\n \"providerOverlap\": \"\",\n \"providerOverlapHierarchy\": \"\",\n \"providerOverlapNote\": \"\",\n \"status\": \"\"\n }\n}" } }, "url": { diff --git a/cypress/e2e/participantsAndProviders.spec.js b/cypress/e2e/participantsAndProviders.spec.js index 2909104b1f..0135bb559f 100644 --- a/cypress/e2e/participantsAndProviders.spec.js +++ b/cypress/e2e/participantsAndProviders.spec.js @@ -108,6 +108,42 @@ describe('The Model Plan Participants and Providers Form', () => { // Page - /participants-and-providers/communication + cy.get('#participant-added-frequency-other') + .should('not.be.disabled') + .check({ force: true }) + .should('be.checked'); + + cy.get('#participant-added-frequency-other-text') + .type('Sometimes') + .should('have.value', 'Sometimes'); + + cy.get('#participant-added-frequency-continually') + .should('not.be.disabled') + .check({ force: true }) + .should('be.checked'); + + cy.get('#participant-added-frequency-continually-text') + .type('Every month') + .should('have.value', 'Every month'); + + cy.get('#participant-removed-frequency-other') + .should('not.be.disabled') + .check({ force: true }) + .should('be.checked'); + + cy.get('#participant-removed-frequency-other-text') + .type('Sometimes') + .should('have.value', 'Sometimes'); + + cy.get('#participant-removed-frequency-continually') + .should('not.be.disabled') + .check({ force: true }) + .should('be.checked'); + + cy.get('#participant-removed-frequency-continually-text') + .type('Every month') + .should('have.value', 'Every month'); + cy.get('#participants-and-providers-communication-method-IT_TOOL') .should('not.be.disabled') .as('communication') diff --git a/migrations/V135__Add_Participant_Add_Removal_Frequency.sql b/migrations/V135__Add_Participant_Add_Removal_Frequency.sql new file mode 100644 index 0000000000..9655d8f9c4 --- /dev/null +++ b/migrations/V135__Add_Participant_Add_Removal_Frequency.sql @@ -0,0 +1,12 @@ +ALTER TABLE plan_participants_and_providers + -- participant_added_frequency columns + ADD COLUMN participant_added_frequency_continually ZERO_STRING, + ADD COLUMN participant_added_frequency_other ZERO_STRING, + ADD COLUMN participant_added_frequency_note ZERO_STRING, + ADD COLUMN participant_added_frequency FREQUENCY_TYPE[], + +-- participant_removed_frequency columns + ADD COLUMN participant_removed_frequency_continually ZERO_STRING, + ADD COLUMN participant_removed_frequency_other ZERO_STRING, + ADD COLUMN participant_removed_frequency_note ZERO_STRING, + ADD COLUMN participant_removed_frequency FREQUENCY_TYPE[]; diff --git a/pkg/graph/generated/generated.go b/pkg/graph/generated/generated.go index 4c2108dad4..3c6bced1d4 100644 --- a/pkg/graph/generated/generated.go +++ b/pkg/graph/generated/generated.go @@ -695,69 +695,77 @@ type ComplexityRoot struct { } PlanParticipantsAndProviders struct { - CommunicationMethod func(childComplexity int) int - CommunicationMethodOther func(childComplexity int) int - CommunicationNote func(childComplexity int) int - ConfidenceNote func(childComplexity int) int - CoordinateWork func(childComplexity int) int - CoordinateWorkNote func(childComplexity int) int - CreatedBy func(childComplexity int) int - CreatedByUserAccount func(childComplexity int) int - CreatedDts func(childComplexity int) int - EstimateConfidence func(childComplexity int) int - ExpectedNumberOfParticipants func(childComplexity int) int - GainsharePayments func(childComplexity int) int - GainsharePaymentsEligibility func(childComplexity int) int - GainsharePaymentsEligibilityOther func(childComplexity int) int - GainsharePaymentsNote func(childComplexity int) int - GainsharePaymentsTrack func(childComplexity int) int - ID func(childComplexity int) int - MedicareProviderType func(childComplexity int) int - ModelApplicationLevel func(childComplexity int) int - ModelPlanID func(childComplexity int) int - ModifiedBy func(childComplexity int) int - ModifiedByUserAccount func(childComplexity int) int - ModifiedDts func(childComplexity int) int - Participants func(childComplexity int) int - ParticipantsCurrentlyInModels func(childComplexity int) int - ParticipantsCurrentlyInModelsNote func(childComplexity int) int - ParticipantsIDSNote func(childComplexity int) int - ParticipantsIds func(childComplexity int) int - ParticipantsIdsOther func(childComplexity int) int - ParticipantsNote func(childComplexity int) int - ParticipantsOther func(childComplexity int) int - ProviderAddMethod func(childComplexity int) int - ProviderAddMethodNote func(childComplexity int) int - ProviderAddMethodOther func(childComplexity int) int - ProviderAdditionFrequency func(childComplexity int) int - ProviderAdditionFrequencyContinually func(childComplexity int) int - ProviderAdditionFrequencyNote func(childComplexity int) int - ProviderAdditionFrequencyOther func(childComplexity int) int - ProviderLeaveMethod func(childComplexity int) int - ProviderLeaveMethodNote func(childComplexity int) int - ProviderLeaveMethodOther func(childComplexity int) int - ProviderOverlap func(childComplexity int) int - ProviderOverlapHierarchy func(childComplexity int) int - ProviderOverlapNote func(childComplexity int) int - ReadyForClearanceBy func(childComplexity int) int - ReadyForClearanceByUserAccount func(childComplexity int) int - ReadyForClearanceDts func(childComplexity int) int - ReadyForReviewBy func(childComplexity int) int - ReadyForReviewByUserAccount func(childComplexity int) int - ReadyForReviewDts func(childComplexity int) int - RecruitmentMethod func(childComplexity int) int - RecruitmentNote func(childComplexity int) int - RecruitmentOther func(childComplexity int) int - RiskNote func(childComplexity int) int - RiskOther func(childComplexity int) int - RiskType func(childComplexity int) int - SelectionMethod func(childComplexity int) int - SelectionNote func(childComplexity int) int - SelectionOther func(childComplexity int) int - StatesEngagement func(childComplexity int) int - Status func(childComplexity int) int - WillRiskChange func(childComplexity int) int - WillRiskChangeNote func(childComplexity int) int + CommunicationMethod func(childComplexity int) int + CommunicationMethodOther func(childComplexity int) int + CommunicationNote func(childComplexity int) int + ConfidenceNote func(childComplexity int) int + CoordinateWork func(childComplexity int) int + CoordinateWorkNote func(childComplexity int) int + CreatedBy func(childComplexity int) int + CreatedByUserAccount func(childComplexity int) int + CreatedDts func(childComplexity int) int + EstimateConfidence func(childComplexity int) int + ExpectedNumberOfParticipants func(childComplexity int) int + GainsharePayments func(childComplexity int) int + GainsharePaymentsEligibility func(childComplexity int) int + GainsharePaymentsEligibilityOther func(childComplexity int) int + GainsharePaymentsNote func(childComplexity int) int + GainsharePaymentsTrack func(childComplexity int) int + ID func(childComplexity int) int + MedicareProviderType func(childComplexity int) int + ModelApplicationLevel func(childComplexity int) int + ModelPlanID func(childComplexity int) int + ModifiedBy func(childComplexity int) int + ModifiedByUserAccount func(childComplexity int) int + ModifiedDts func(childComplexity int) int + ParticipantAddedFrequency func(childComplexity int) int + ParticipantAddedFrequencyContinually func(childComplexity int) int + ParticipantAddedFrequencyNote func(childComplexity int) int + ParticipantAddedFrequencyOther func(childComplexity int) int + ParticipantRemovedFrequency func(childComplexity int) int + ParticipantRemovedFrequencyContinually func(childComplexity int) int + ParticipantRemovedFrequencyNote func(childComplexity int) int + ParticipantRemovedFrequencyOther func(childComplexity int) int + Participants func(childComplexity int) int + ParticipantsCurrentlyInModels func(childComplexity int) int + ParticipantsCurrentlyInModelsNote func(childComplexity int) int + ParticipantsIDSNote func(childComplexity int) int + ParticipantsIds func(childComplexity int) int + ParticipantsIdsOther func(childComplexity int) int + ParticipantsNote func(childComplexity int) int + ParticipantsOther func(childComplexity int) int + ProviderAddMethod func(childComplexity int) int + ProviderAddMethodNote func(childComplexity int) int + ProviderAddMethodOther func(childComplexity int) int + ProviderAdditionFrequency func(childComplexity int) int + ProviderAdditionFrequencyContinually func(childComplexity int) int + ProviderAdditionFrequencyNote func(childComplexity int) int + ProviderAdditionFrequencyOther func(childComplexity int) int + ProviderLeaveMethod func(childComplexity int) int + ProviderLeaveMethodNote func(childComplexity int) int + ProviderLeaveMethodOther func(childComplexity int) int + ProviderOverlap func(childComplexity int) int + ProviderOverlapHierarchy func(childComplexity int) int + ProviderOverlapNote func(childComplexity int) int + ReadyForClearanceBy func(childComplexity int) int + ReadyForClearanceByUserAccount func(childComplexity int) int + ReadyForClearanceDts func(childComplexity int) int + ReadyForReviewBy func(childComplexity int) int + ReadyForReviewByUserAccount func(childComplexity int) int + ReadyForReviewDts func(childComplexity int) int + RecruitmentMethod func(childComplexity int) int + RecruitmentNote func(childComplexity int) int + RecruitmentOther func(childComplexity int) int + RiskNote func(childComplexity int) int + RiskOther func(childComplexity int) int + RiskType func(childComplexity int) int + SelectionMethod func(childComplexity int) int + SelectionNote func(childComplexity int) int + SelectionOther func(childComplexity int) int + StatesEngagement func(childComplexity int) int + Status func(childComplexity int) int + WillRiskChange func(childComplexity int) int + WillRiskChangeNote func(childComplexity int) int } PlanPayments struct { @@ -1142,6 +1150,10 @@ type PlanParticipantsAndProvidersResolver interface { SelectionMethod(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]model.ParticipantSelectionType, error) + ParticipantAddedFrequency(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]models.FrequencyType, error) + + ParticipantRemovedFrequency(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]models.FrequencyType, error) + CommunicationMethod(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]model.ParticipantCommunicationType, error) RiskType(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]models.ParticipantRiskType, error) @@ -5364,6 +5376,62 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.PlanParticipantsAndProviders.ModifiedDts(childComplexity), true + case "PlanParticipantsAndProviders.participantAddedFrequency": + if e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequency == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequency(childComplexity), true + + case "PlanParticipantsAndProviders.participantAddedFrequencyContinually": + if e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyContinually == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyContinually(childComplexity), true + + case "PlanParticipantsAndProviders.participantAddedFrequencyNote": + if e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyNote == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyNote(childComplexity), true + + case "PlanParticipantsAndProviders.participantAddedFrequencyOther": + if e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyOther == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantAddedFrequencyOther(childComplexity), true + + case "PlanParticipantsAndProviders.participantRemovedFrequency": + if e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequency == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequency(childComplexity), true + + case "PlanParticipantsAndProviders.participantRemovedFrequencyContinually": + if e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyContinually == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyContinually(childComplexity), true + + case "PlanParticipantsAndProviders.participantRemovedFrequencyNote": + if e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyNote == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyNote(childComplexity), true + + case "PlanParticipantsAndProviders.participantRemovedFrequencyOther": + if e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyOther == nil { + break + } + + return e.complexity.PlanParticipantsAndProviders.ParticipantRemovedFrequencyOther(childComplexity), true + case "PlanParticipantsAndProviders.participants": if e.complexity.PlanParticipantsAndProviders.Participants == nil { break @@ -7930,6 +7998,14 @@ type PlanParticipantsAndProviders { selectionNote: String #Page 3 + participantAddedFrequency: [FrequencyType!]! + participantAddedFrequencyContinually: String + participantAddedFrequencyOther: String + participantAddedFrequencyNote: String + participantRemovedFrequency: [FrequencyType!]! + participantRemovedFrequencyContinually: String + participantRemovedFrequencyOther: String + participantRemovedFrequencyNote: String communicationMethod: [ParticipantCommunicationType!]! communicationMethodOther: String communicationNote: String @@ -8014,6 +8090,14 @@ input PlanParticipantsAndProvidersChanges @goModel(model: "map[string]interface{ selectionNote: String #Page 3 + participantAddedFrequency: [FrequencyType!] + participantAddedFrequencyContinually: String + participantAddedFrequencyOther: String + participantAddedFrequencyNote: String + participantRemovedFrequency: [FrequencyType!] + participantRemovedFrequencyContinually: String + participantRemovedFrequencyOther: String + participantRemovedFrequencyNote: String communicationMethod: [ParticipantCommunicationType!] communicationMethodOther: String communicationNote: String @@ -15535,6 +15619,22 @@ func (ec *executionContext) fieldContext_ModelPlan_participantsAndProviders(ctx return ec.fieldContext_PlanParticipantsAndProviders_selectionOther(ctx, field) case "selectionNote": return ec.fieldContext_PlanParticipantsAndProviders_selectionNote(ctx, field) + case "participantAddedFrequency": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequency(ctx, field) + case "participantAddedFrequencyContinually": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx, field) + case "participantAddedFrequencyOther": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx, field) + case "participantAddedFrequencyNote": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx, field) + case "participantRemovedFrequency": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequency(ctx, field) + case "participantRemovedFrequencyContinually": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx, field) + case "participantRemovedFrequencyOther": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx, field) + case "participantRemovedFrequencyNote": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx, field) case "communicationMethod": return ec.fieldContext_PlanParticipantsAndProviders_communicationMethod(ctx, field) case "communicationMethodOther": @@ -18160,6 +18260,22 @@ func (ec *executionContext) fieldContext_Mutation_updatePlanParticipantsAndProvi return ec.fieldContext_PlanParticipantsAndProviders_selectionOther(ctx, field) case "selectionNote": return ec.fieldContext_PlanParticipantsAndProviders_selectionNote(ctx, field) + case "participantAddedFrequency": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequency(ctx, field) + case "participantAddedFrequencyContinually": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx, field) + case "participantAddedFrequencyOther": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx, field) + case "participantAddedFrequencyNote": + return ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx, field) + case "participantRemovedFrequency": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequency(ctx, field) + case "participantRemovedFrequencyContinually": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx, field) + case "participantRemovedFrequencyOther": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx, field) + case "participantRemovedFrequencyNote": + return ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx, field) case "communicationMethod": return ec.fieldContext_PlanParticipantsAndProviders_communicationMethod(ctx, field) case "communicationMethodOther": @@ -39840,6 +39956,340 @@ func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_selectionN return fc, nil } +func (ec *executionContext) _PlanParticipantsAndProviders_participantAddedFrequency(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequency(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanParticipantsAndProviders().ParticipantAddedFrequency(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.FrequencyType) + fc.Result = res + return ec.marshalNFrequencyType2ᚕgithubᚗcomᚋcmsgovᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantAddedFrequency(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type FrequencyType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantAddedFrequencyContinually, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantAddedFrequencyOther, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantAddedFrequencyNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantRemovedFrequency(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequency(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanParticipantsAndProviders().ParticipantRemovedFrequency(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.FrequencyType) + fc.Result = res + return ec.marshalNFrequencyType2ᚕgithubᚗcomᚋcmsgovᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantRemovedFrequency(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type FrequencyType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantRemovedFrequencyContinually, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantRemovedFrequencyOther, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ParticipantRemovedFrequencyNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanParticipantsAndProviders", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) _PlanParticipantsAndProviders_communicationMethod(ctx context.Context, field graphql.CollectedField, obj *models.PlanParticipantsAndProviders) (ret graphql.Marshaler) { fc, err := ec.fieldContext_PlanParticipantsAndProviders_communicationMethod(ctx, field) if err != nil { @@ -60252,6 +60702,90 @@ func (ec *executionContext) _PlanParticipantsAndProviders(ctx context.Context, s out.Values[i] = ec._PlanParticipantsAndProviders_selectionOther(ctx, field, obj) case "selectionNote": out.Values[i] = ec._PlanParticipantsAndProviders_selectionNote(ctx, field, obj) + case "participantAddedFrequency": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanParticipantsAndProviders_participantAddedFrequency(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "participantAddedFrequencyContinually": + out.Values[i] = ec._PlanParticipantsAndProviders_participantAddedFrequencyContinually(ctx, field, obj) + case "participantAddedFrequencyOther": + out.Values[i] = ec._PlanParticipantsAndProviders_participantAddedFrequencyOther(ctx, field, obj) + case "participantAddedFrequencyNote": + out.Values[i] = ec._PlanParticipantsAndProviders_participantAddedFrequencyNote(ctx, field, obj) + case "participantRemovedFrequency": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanParticipantsAndProviders_participantRemovedFrequency(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "participantRemovedFrequencyContinually": + out.Values[i] = ec._PlanParticipantsAndProviders_participantRemovedFrequencyContinually(ctx, field, obj) + case "participantRemovedFrequencyOther": + out.Values[i] = ec._PlanParticipantsAndProviders_participantRemovedFrequencyOther(ctx, field, obj) + case "participantRemovedFrequencyNote": + out.Values[i] = ec._PlanParticipantsAndProviders_participantRemovedFrequencyNote(ctx, field, obj) case "communicationMethod": field := field diff --git a/pkg/graph/gqlresolvers/schema.resolvers.go b/pkg/graph/gqlresolvers/schema.resolvers.go index c8c2746ee2..b995fe6cfe 100644 --- a/pkg/graph/gqlresolvers/schema.resolvers.go +++ b/pkg/graph/gqlresolvers/schema.resolvers.go @@ -771,6 +771,16 @@ func (r *planParticipantsAndProvidersResolver) SelectionMethod(ctx context.Conte return selectionTypes, nil } +// ParticipantAddedFrequency is the resolver for the participantAddedFrequency field. +func (r *planParticipantsAndProvidersResolver) ParticipantAddedFrequency(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]models.FrequencyType, error) { + return models.ConvertEnums[models.FrequencyType](obj.ParticipantAddedFrequency), nil +} + +// ParticipantRemovedFrequency is the resolver for the participantRemovedFrequency field. +func (r *planParticipantsAndProvidersResolver) ParticipantRemovedFrequency(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]models.FrequencyType, error) { + return models.ConvertEnums[models.FrequencyType](obj.ParticipantRemovedFrequency), nil +} + // CommunicationMethod is the resolver for the communicationMethod field. func (r *planParticipantsAndProvidersResolver) CommunicationMethod(ctx context.Context, obj *models.PlanParticipantsAndProviders) ([]model.ParticipantCommunicationType, error) { communicationTypes := models.ConvertEnums[model.ParticipantCommunicationType](obj.CommunicationMethod) diff --git a/pkg/graph/resolvers/plan_participants_and_providers_test.go b/pkg/graph/resolvers/plan_participants_and_providers_test.go index 1d89b193ff..8d5fba119f 100644 --- a/pkg/graph/resolvers/plan_participants_and_providers_test.go +++ b/pkg/graph/resolvers/plan_participants_and_providers_test.go @@ -102,6 +102,14 @@ func (suite *ResolverSuite) TestPlanParticipantsAndProvidersUpdate() { suite.Nil(updatedPP.SelectionMethod) suite.Nil(updatedPP.SelectionOther) suite.Nil(updatedPP.SelectionNote) + suite.Nil(updatedPP.ParticipantAddedFrequency) + suite.Nil(updatedPP.ParticipantAddedFrequencyContinually) + suite.Nil(updatedPP.ParticipantAddedFrequencyOther) + suite.Nil(updatedPP.ParticipantAddedFrequencyNote) + suite.Nil(updatedPP.ParticipantRemovedFrequency) + suite.Nil(updatedPP.ParticipantRemovedFrequencyContinually) + suite.Nil(updatedPP.ParticipantRemovedFrequencyOther) + suite.Nil(updatedPP.ParticipantRemovedFrequencyNote) suite.Nil(updatedPP.CommunicationMethod) suite.Nil(updatedPP.CommunicationNote) suite.Nil(updatedPP.RiskType) @@ -165,6 +173,14 @@ func (suite *ResolverSuite) TestPlanParticipantsAndProvidersGetByModelPlanID() { suite.Nil(pp.SelectionMethod) suite.Nil(pp.SelectionOther) suite.Nil(pp.SelectionNote) + suite.Nil(pp.ParticipantAddedFrequency) + suite.Nil(pp.ParticipantAddedFrequencyContinually) + suite.Nil(pp.ParticipantAddedFrequencyOther) + suite.Nil(pp.ParticipantAddedFrequencyNote) + suite.Nil(pp.ParticipantRemovedFrequency) + suite.Nil(pp.ParticipantRemovedFrequencyContinually) + suite.Nil(pp.ParticipantRemovedFrequencyOther) + suite.Nil(pp.ParticipantRemovedFrequencyNote) suite.Nil(pp.CommunicationMethod) suite.Nil(pp.CommunicationNote) suite.Nil(pp.RiskType) diff --git a/pkg/graph/schema.graphql b/pkg/graph/schema.graphql index 3365493b9f..103e48ef1c 100644 --- a/pkg/graph/schema.graphql +++ b/pkg/graph/schema.graphql @@ -799,6 +799,14 @@ type PlanParticipantsAndProviders { selectionNote: String #Page 3 + participantAddedFrequency: [FrequencyType!]! + participantAddedFrequencyContinually: String + participantAddedFrequencyOther: String + participantAddedFrequencyNote: String + participantRemovedFrequency: [FrequencyType!]! + participantRemovedFrequencyContinually: String + participantRemovedFrequencyOther: String + participantRemovedFrequencyNote: String communicationMethod: [ParticipantCommunicationType!]! communicationMethodOther: String communicationNote: String @@ -883,6 +891,14 @@ input PlanParticipantsAndProvidersChanges @goModel(model: "map[string]interface{ selectionNote: String #Page 3 + participantAddedFrequency: [FrequencyType!] + participantAddedFrequencyContinually: String + participantAddedFrequencyOther: String + participantAddedFrequencyNote: String + participantRemovedFrequency: [FrequencyType!] + participantRemovedFrequencyContinually: String + participantRemovedFrequencyOther: String + participantRemovedFrequencyNote: String communicationMethod: [ParticipantCommunicationType!] communicationMethodOther: String communicationNote: String diff --git a/pkg/models/plan_participants_and_providers.go b/pkg/models/plan_participants_and_providers.go index 048a398039..880b6f2393 100644 --- a/pkg/models/plan_participants_and_providers.go +++ b/pkg/models/plan_participants_and_providers.go @@ -30,14 +30,22 @@ type PlanParticipantsAndProviders struct { SelectionNote *string `json:"selectionNote" db:"selection_note"` //page 3 - CommunicationMethod pq.StringArray `json:"communicationMethod" db:"communication_method"` - CommunicationMethodOther *string `json:"communicationMethodOther" db:"communication_method_other"` - CommunicationNote *string `json:"communicationNote" db:"communication_note"` - RiskType pq.StringArray `json:"riskType" db:"risk_type"` - RiskOther *string `json:"riskOther" db:"risk_other"` - RiskNote *string `json:"riskNote" db:"risk_note"` - WillRiskChange *bool `json:"willRiskChange" db:"will_risk_change" statusWeight:"1"` - WillRiskChangeNote *string `json:"willRiskChangeNote" db:"will_risk_change_note"` + ParticipantAddedFrequency pq.StringArray `json:"participantAddedFrequency" db:"participant_added_frequency" statusWeight:"1"` + ParticipantAddedFrequencyContinually *string `json:"participantAddedFrequencyContinually" db:"participant_added_frequency_continually"` + ParticipantAddedFrequencyOther *string `json:"participantAddedFrequencyOther" db:"participant_added_frequency_other"` + ParticipantAddedFrequencyNote *string `json:"participantAddedFrequencyNote" db:"participant_added_frequency_note"` + ParticipantRemovedFrequency pq.StringArray `json:"participantRemovedFrequency" db:"participant_removed_frequency" statusWeight:"1"` + ParticipantRemovedFrequencyContinually *string `json:"participantRemovedFrequencyContinually" db:"participant_removed_frequency_continually"` + ParticipantRemovedFrequencyOther *string `json:"participantRemovedFrequencyOther" db:"participant_removed_frequency_other"` + ParticipantRemovedFrequencyNote *string `json:"participantRemovedFrequencyNote" db:"participant_removed_frequency_note"` + CommunicationMethod pq.StringArray `json:"communicationMethod" db:"communication_method"` + CommunicationMethodOther *string `json:"communicationMethodOther" db:"communication_method_other"` + CommunicationNote *string `json:"communicationNote" db:"communication_note"` + RiskType pq.StringArray `json:"riskType" db:"risk_type"` + RiskOther *string `json:"riskOther" db:"risk_other"` + RiskNote *string `json:"riskNote" db:"risk_note"` + WillRiskChange *bool `json:"willRiskChange" db:"will_risk_change" statusWeight:"1"` + WillRiskChangeNote *string `json:"willRiskChangeNote" db:"will_risk_change_note"` //page 4 CoordinateWork *bool `json:"coordinateWork" db:"coordinate_work" statusWeight:"1"` diff --git a/pkg/storage/SQL/plan_participants_and_providers/create.sql b/pkg/storage/SQL/plan_participants_and_providers/create.sql index 4bb99b37f5..f47e00a9ed 100644 --- a/pkg/storage/SQL/plan_participants_and_providers/create.sql +++ b/pkg/storage/SQL/plan_participants_and_providers/create.sql @@ -18,6 +18,14 @@ INSERT INTO plan_participants_and_providers( selection_method, selection_other, selection_note, + participant_added_frequency, + participant_added_frequency_continually, + participant_added_frequency_other, + participant_added_frequency_note, + participant_removed_frequency, + participant_removed_frequency_continually, + participant_removed_frequency_other, + participant_removed_frequency_note, communication_method, communication_method_other, communication_note, @@ -77,6 +85,14 @@ VALUES ( :selection_method, :selection_other, :selection_note, + :participant_added_frequency, + :participant_added_frequency_continually, + :participant_added_frequency_other, + :participant_added_frequency_note, + :participant_removed_frequency, + :participant_removed_frequency_continually, + :participant_removed_frequency_other, + :participant_removed_frequency_note, :communication_method, :communication_method_other, :communication_note, @@ -136,6 +152,14 @@ recruitment_note, selection_method, selection_other, selection_note, +participant_added_frequency, +participant_added_frequency_continually, +participant_added_frequency_other, +participant_added_frequency_note, +participant_removed_frequency, +participant_removed_frequency_continually, +participant_removed_frequency_other, +participant_removed_frequency_note, communication_method, communication_method_other, communication_note, diff --git a/pkg/storage/SQL/plan_participants_and_providers/get_by_id.sql b/pkg/storage/SQL/plan_participants_and_providers/get_by_id.sql index eeed54c895..d53a61cc0b 100644 --- a/pkg/storage/SQL/plan_participants_and_providers/get_by_id.sql +++ b/pkg/storage/SQL/plan_participants_and_providers/get_by_id.sql @@ -18,6 +18,14 @@ SELECT selection_method, selection_other, selection_note, + participant_added_frequency, + participant_added_frequency_continually, + participant_added_frequency_other, + participant_added_frequency_note, + participant_removed_frequency, + participant_removed_frequency_continually, + participant_removed_frequency_other, + participant_removed_frequency_note, communication_method, communication_method_other, communication_note, diff --git a/pkg/storage/SQL/plan_participants_and_providers/get_by_model_plan_id_LOADER.sql b/pkg/storage/SQL/plan_participants_and_providers/get_by_model_plan_id_LOADER.sql index 3d77053ab8..ce7856708c 100644 --- a/pkg/storage/SQL/plan_participants_and_providers/get_by_model_plan_id_LOADER.sql +++ b/pkg/storage/SQL/plan_participants_and_providers/get_by_model_plan_id_LOADER.sql @@ -26,6 +26,14 @@ SELECT pAndP.selection_method, pAndP.selection_other, pAndP.selection_note, + pAndP.participant_added_frequency, + pAndP.participant_added_frequency_continually, + pAndP.participant_added_frequency_other, + pAndP.participant_added_frequency_note, + pAndP.participant_removed_frequency, + pAndP.participant_removed_frequency_continually, + pAndP.participant_removed_frequency_other, + pAndP.participant_removed_frequency_note, pAndP.communication_method, pAndP.communication_method_other, pAndP.communication_note, diff --git a/pkg/storage/SQL/plan_participants_and_providers/update.sql b/pkg/storage/SQL/plan_participants_and_providers/update.sql index becfd00cfc..b15953927f 100644 --- a/pkg/storage/SQL/plan_participants_and_providers/update.sql +++ b/pkg/storage/SQL/plan_participants_and_providers/update.sql @@ -17,6 +17,14 @@ SET selection_method = :selection_method, selection_other = :selection_other, selection_note = :selection_note, + participant_added_frequency = :participant_added_frequency, + participant_added_frequency_continually = :participant_added_frequency_continually, + participant_added_frequency_other = :participant_added_frequency_other, + participant_added_frequency_note = :participant_added_frequency_note, + participant_removed_frequency = :participant_removed_frequency, + participant_removed_frequency_continually = :participant_removed_frequency_continually, + participant_removed_frequency_other = :participant_removed_frequency_other, + participant_removed_frequency_note = :participant_removed_frequency_note, communication_method = :communication_method, communication_method_other = :communication_method_other, communication_note = :communication_note, @@ -76,6 +84,14 @@ recruitment_note, selection_method, selection_other, selection_note, +participant_added_frequency, +participant_added_frequency_continually, +participant_added_frequency_other, +participant_added_frequency_note, +participant_removed_frequency, +participant_removed_frequency_continually, +participant_removed_frequency_other, +participant_removed_frequency_note, communication_method, communication_method_other, communication_note, diff --git a/src/components/ShareExport/__snapshots__/index.test.tsx.snap b/src/components/ShareExport/__snapshots__/index.test.tsx.snap index f83b3174ec..436a9c20cf 100644 --- a/src/components/ShareExport/__snapshots__/index.test.tsx.snap +++ b/src/components/ShareExport/__snapshots__/index.test.tsx.snap @@ -2175,6 +2175,108 @@ exports[`ShareExportModal > matches the snapshot 1`] = `
+
+
+

+ How frequently are participants added? +

+
    +
  • + Continually +
  • +
      +
    • + participant added continually +
    • +
    +
+
+
+
+

+ Notes +

+

+ My note +

+
+
+
+
+
+

+ How frequently are participants removed? +

+
    +
  • + Other +
  • +
      +
    • + participant added other +
    • +
    +
+
+
+
+

+ Notes +

+

+ Second note +

+
+
+
matches the snapshot 2`] = `
+
+
+

+ How frequently are participants added? +

+
    +
  • + Continually +
  • +
      +
    • + participant added continually +
    • +
    +
+
+
+
+

+ Notes +

+

+ My note +

+
+
+
+
+
+

+ How frequently are participants removed? +

+
    +
  • + Other +
  • +
      +
    • + participant added other +
    • +
    +
+
+
+
+

+ Notes +

+

+ Second note +

+
+
+
; modifiedByUserAccount?: Maybe; modifiedDts?: Maybe; + participantAddedFrequency: Array; + participantAddedFrequencyContinually?: Maybe; + participantAddedFrequencyNote?: Maybe; + participantAddedFrequencyOther?: Maybe; + participantRemovedFrequency: Array; + participantRemovedFrequencyContinually?: Maybe; + participantRemovedFrequencyNote?: Maybe; + participantRemovedFrequencyOther?: Maybe; participants: Array; participantsCurrentlyInModels?: Maybe; participantsCurrentlyInModelsNote?: Maybe; @@ -1925,6 +1933,14 @@ export type PlanParticipantsAndProvidersChanges = { gainsharePaymentsTrack?: InputMaybe; medicareProviderType?: InputMaybe; modelApplicationLevel?: InputMaybe; + participantAddedFrequency?: InputMaybe>; + participantAddedFrequencyContinually?: InputMaybe; + participantAddedFrequencyNote?: InputMaybe; + participantAddedFrequencyOther?: InputMaybe; + participantRemovedFrequency?: InputMaybe>; + participantRemovedFrequencyContinually?: InputMaybe; + participantRemovedFrequencyNote?: InputMaybe; + participantRemovedFrequencyOther?: InputMaybe; participants?: InputMaybe>; participantsCurrentlyInModels?: InputMaybe; participantsCurrentlyInModelsNote?: InputMaybe; @@ -2930,14 +2946,14 @@ export type GetAllParticipantsAndProvidersQueryVariables = Exact<{ }>; -export type GetAllParticipantsAndProvidersQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, participantsAndProviders: { __typename: 'PlanParticipantsAndProviders', id: UUID, participants: Array, medicareProviderType?: string | null, statesEngagement?: string | null, participantsOther?: string | null, participantsNote?: string | null, participantsCurrentlyInModels?: boolean | null, participantsCurrentlyInModelsNote?: string | null, modelApplicationLevel?: string | null, expectedNumberOfParticipants?: number | null, estimateConfidence?: ConfidenceType | null, confidenceNote?: string | null, recruitmentMethod?: RecruitmentType | null, recruitmentOther?: string | null, recruitmentNote?: string | null, selectionMethod: Array, selectionOther?: string | null, selectionNote?: string | null, communicationMethod: Array, communicationMethodOther?: string | null, communicationNote?: string | null, riskType: Array, riskOther?: string | null, riskNote?: string | null, willRiskChange?: boolean | null, willRiskChangeNote?: string | null, coordinateWork?: boolean | null, coordinateWorkNote?: string | null, gainsharePayments?: boolean | null, gainsharePaymentsTrack?: boolean | null, gainsharePaymentsNote?: string | null, gainsharePaymentsEligibility: Array, gainsharePaymentsEligibilityOther?: string | null, participantsIds: Array, participantsIdsOther?: string | null, participantsIDSNote?: string | null, providerAdditionFrequency: Array, providerAdditionFrequencyContinually?: string | null, providerAdditionFrequencyOther?: string | null, providerAdditionFrequencyNote?: string | null, providerAddMethod: Array, providerAddMethodOther?: string | null, providerAddMethodNote?: string | null, providerLeaveMethod: Array, providerLeaveMethodOther?: string | null, providerLeaveMethodNote?: string | null, providerOverlap?: OverlapType | null, providerOverlapHierarchy?: string | null, providerOverlapNote?: string | null, status: TaskStatus } } }; +export type GetAllParticipantsAndProvidersQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, participantsAndProviders: { __typename: 'PlanParticipantsAndProviders', id: UUID, participants: Array, medicareProviderType?: string | null, statesEngagement?: string | null, participantsOther?: string | null, participantsNote?: string | null, participantsCurrentlyInModels?: boolean | null, participantsCurrentlyInModelsNote?: string | null, modelApplicationLevel?: string | null, expectedNumberOfParticipants?: number | null, estimateConfidence?: ConfidenceType | null, confidenceNote?: string | null, recruitmentMethod?: RecruitmentType | null, recruitmentOther?: string | null, recruitmentNote?: string | null, selectionMethod: Array, selectionOther?: string | null, selectionNote?: string | null, participantAddedFrequency: Array, participantAddedFrequencyContinually?: string | null, participantAddedFrequencyOther?: string | null, participantAddedFrequencyNote?: string | null, participantRemovedFrequency: Array, participantRemovedFrequencyContinually?: string | null, participantRemovedFrequencyOther?: string | null, participantRemovedFrequencyNote?: string | null, communicationMethod: Array, communicationMethodOther?: string | null, communicationNote?: string | null, riskType: Array, riskOther?: string | null, riskNote?: string | null, willRiskChange?: boolean | null, willRiskChangeNote?: string | null, coordinateWork?: boolean | null, coordinateWorkNote?: string | null, gainsharePayments?: boolean | null, gainsharePaymentsTrack?: boolean | null, gainsharePaymentsNote?: string | null, gainsharePaymentsEligibility: Array, gainsharePaymentsEligibilityOther?: string | null, participantsIds: Array, participantsIdsOther?: string | null, participantsIDSNote?: string | null, providerAdditionFrequency: Array, providerAdditionFrequencyContinually?: string | null, providerAdditionFrequencyOther?: string | null, providerAdditionFrequencyNote?: string | null, providerAddMethod: Array, providerAddMethodOther?: string | null, providerAddMethodNote?: string | null, providerLeaveMethod: Array, providerLeaveMethodOther?: string | null, providerLeaveMethodNote?: string | null, providerOverlap?: OverlapType | null, providerOverlapHierarchy?: string | null, providerOverlapNote?: string | null, status: TaskStatus } } }; export type GetCommunicationQueryVariables = Exact<{ id: Scalars['UUID']['input']; }>; -export type GetCommunicationQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, modelName: string, participantsAndProviders: { __typename: 'PlanParticipantsAndProviders', id: UUID, communicationMethod: Array, communicationMethodOther?: string | null, communicationNote?: string | null, riskType: Array, riskOther?: string | null, riskNote?: string | null, willRiskChange?: boolean | null, willRiskChangeNote?: string | null }, operationalNeeds: Array<{ __typename: 'OperationalNeed', modifiedDts?: Time | null }> } }; +export type GetCommunicationQuery = { __typename: 'Query', modelPlan: { __typename: 'ModelPlan', id: UUID, modelName: string, participantsAndProviders: { __typename: 'PlanParticipantsAndProviders', id: UUID, participantAddedFrequency: Array, participantAddedFrequencyContinually?: string | null, participantAddedFrequencyOther?: string | null, participantAddedFrequencyNote?: string | null, participantRemovedFrequency: Array, participantRemovedFrequencyContinually?: string | null, participantRemovedFrequencyOther?: string | null, participantRemovedFrequencyNote?: string | null, communicationMethod: Array, communicationMethodOther?: string | null, communicationNote?: string | null, riskType: Array, riskOther?: string | null, riskNote?: string | null, willRiskChange?: boolean | null, willRiskChangeNote?: string | null }, operationalNeeds: Array<{ __typename: 'OperationalNeed', modifiedDts?: Time | null }> } }; export type GetCoordinationQueryVariables = Exact<{ id: Scalars['UUID']['input']; @@ -5225,6 +5241,14 @@ export const GetAllParticipantsAndProvidersDocument = gql` selectionMethod selectionOther selectionNote + participantAddedFrequency + participantAddedFrequencyContinually + participantAddedFrequencyOther + participantAddedFrequencyNote + participantRemovedFrequency + participantRemovedFrequencyContinually + participantRemovedFrequencyOther + participantRemovedFrequencyNote communicationMethod communicationMethodOther communicationNote @@ -5301,6 +5325,14 @@ export const GetCommunicationDocument = gql` modelName participantsAndProviders { id + participantAddedFrequency + participantAddedFrequencyContinually + participantAddedFrequencyOther + participantAddedFrequencyNote + participantRemovedFrequency + participantRemovedFrequencyContinually + participantRemovedFrequencyOther + participantRemovedFrequencyNote communicationMethod communicationMethodOther communicationNote diff --git a/src/gql/gen/types/GetAllParticipantsAndProviders.ts b/src/gql/gen/types/GetAllParticipantsAndProviders.ts index 51f8b2f4e2..27a16b10dc 100644 --- a/src/gql/gen/types/GetAllParticipantsAndProviders.ts +++ b/src/gql/gen/types/GetAllParticipantsAndProviders.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { ParticipantsType, ConfidenceType, RecruitmentType, ParticipantSelectionType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, FrequencyType, ProviderAddType, ProviderLeaveType, OverlapType, TaskStatus } from "./../../../types/graphql-global-types"; +import { ParticipantsType, ConfidenceType, RecruitmentType, ParticipantSelectionType, FrequencyType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, ProviderAddType, ProviderLeaveType, OverlapType, TaskStatus } from "./../../../types/graphql-global-types"; // ==================================================== // GraphQL query operation: GetAllParticipantsAndProviders @@ -29,6 +29,14 @@ export interface GetAllParticipantsAndProviders_modelPlan_participantsAndProvide selectionMethod: ParticipantSelectionType[]; selectionOther: string | null; selectionNote: string | null; + participantAddedFrequency: FrequencyType[]; + participantAddedFrequencyContinually: string | null; + participantAddedFrequencyOther: string | null; + participantAddedFrequencyNote: string | null; + participantRemovedFrequency: FrequencyType[]; + participantRemovedFrequencyContinually: string | null; + participantRemovedFrequencyOther: string | null; + participantRemovedFrequencyNote: string | null; communicationMethod: ParticipantCommunicationType[]; communicationMethodOther: string | null; communicationNote: string | null; diff --git a/src/gql/gen/types/GetCommunication.ts b/src/gql/gen/types/GetCommunication.ts index dada4f1fbc..9df910da53 100644 --- a/src/gql/gen/types/GetCommunication.ts +++ b/src/gql/gen/types/GetCommunication.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { ParticipantCommunicationType, ParticipantRiskType } from "./../../../types/graphql-global-types"; +import { FrequencyType, ParticipantCommunicationType, ParticipantRiskType } from "./../../../types/graphql-global-types"; // ==================================================== // GraphQL query operation: GetCommunication @@ -12,6 +12,14 @@ import { ParticipantCommunicationType, ParticipantRiskType } from "./../../../ty export interface GetCommunication_modelPlan_participantsAndProviders { __typename: "PlanParticipantsAndProviders"; id: UUID; + participantAddedFrequency: FrequencyType[]; + participantAddedFrequencyContinually: string | null; + participantAddedFrequencyOther: string | null; + participantAddedFrequencyNote: string | null; + participantRemovedFrequency: FrequencyType[]; + participantRemovedFrequencyContinually: string | null; + participantRemovedFrequencyOther: string | null; + participantRemovedFrequencyNote: string | null; communicationMethod: ParticipantCommunicationType[]; communicationMethodOther: string | null; communicationNote: string | null; diff --git a/src/i18n/en-US/modelPlan/participantsAndProviders.ts b/src/i18n/en-US/modelPlan/participantsAndProviders.ts index 57d0af2c6f..807c42fb4f 100644 --- a/src/i18n/en-US/modelPlan/participantsAndProviders.ts +++ b/src/i18n/en-US/modelPlan/participantsAndProviders.ts @@ -217,6 +217,88 @@ export const participantsAndProviders: TranslationParticipantsAndProviders = { formType: 'textarea', filterGroups: ['cmmi', 'iddoc', 'pbg'] }, + participantAddedFrequency: { + gqlField: 'participantAddedFrequency', + goField: 'ParticipantAddedFrequency', + dbField: 'participant_added_frequency', + label: 'How frequently are participants added?', + dataType: 'enum', + formType: 'checkbox', + options: frequencyOptions, + optionsRelatedInfo: { + ANNUALLY: '', + SEMIANNUALLY: '', + QUARTERLY: '', + MONTHLY: '', + CONTINUALLY: 'participantAddedFrequencyContinually', + OTHER: 'participantAddedFrequencyOther' + } + }, + participantAddedFrequencyContinually: { + gqlField: 'participantAddedFrequencyContinually', + goField: 'ParticipantAddedFrequencyContinually', + dbField: 'participant_added_frequency_continually', + label: 'Please specify', + dataType: 'string', + formType: 'text' + }, + participantAddedFrequencyOther: { + gqlField: 'participantAddedFrequencyOther', + goField: 'ParticipantAddedFrequencyOther', + dbField: 'participant_added_frequency_other', + label: 'Please specify', + dataType: 'string', + formType: 'text' + }, + participantAddedFrequencyNote: { + gqlField: 'participantAddedFrequencyNote', + goField: 'ParticipantAddedFrequencyNote', + dbField: 'participant_added_frequency_note', + label: 'Notes', + dataType: 'string', + formType: 'text' + }, + participantRemovedFrequency: { + gqlField: 'participantRemovedFrequency', + goField: 'ParticipantRemovedFrequency', + dbField: 'participant_removed_frequency', + label: 'How frequently are participants removed?', + dataType: 'enum', + formType: 'checkbox', + options: frequencyOptions, + optionsRelatedInfo: { + ANNUALLY: '', + SEMIANNUALLY: '', + QUARTERLY: '', + MONTHLY: '', + CONTINUALLY: 'participantRemovedFrequencyContinually', + OTHER: 'participantRemovedFrequencyOther' + } + }, + participantRemovedFrequencyContinually: { + gqlField: 'participantRemovedFrequencyContinually', + goField: 'ParticipantRemovedFrequencyContinually', + dbField: 'participant_removed_frequency_continually', + label: 'Please specify', + dataType: 'string', + formType: 'text' + }, + participantRemovedFrequencyOther: { + gqlField: 'participantRemovedFrequencyOther', + goField: 'ParticipantRemovedFrequencyOther', + dbField: 'participant_removed_frequency_other', + label: 'Please specify', + dataType: 'string', + formType: 'text' + }, + participantRemovedFrequencyNote: { + gqlField: 'participantRemovedFrequencyNote', + goField: 'ParticipantRemovedFrequencyNote', + dbField: 'participant_removed_frequency_note', + label: 'Notes', + dataType: 'string', + formType: 'text' + }, communicationMethod: { gqlField: 'communicationMethod', goField: 'CommunicationMethod', diff --git a/src/queries/GetAllModelData.ts b/src/queries/GetAllModelData.ts index fffe3f69a2..8b9d5cbc7b 100644 --- a/src/queries/GetAllModelData.ts +++ b/src/queries/GetAllModelData.ts @@ -104,6 +104,14 @@ export default gql` } participantsAndProviders { id + participantAddedFrequency + participantAddedFrequencyContinually + participantAddedFrequencyOther + participantAddedFrequencyNote + participantRemovedFrequency + participantRemovedFrequencyContinually + participantRemovedFrequencyOther + participantRemovedFrequencyNote communicationMethod communicationMethodOther communicationNote diff --git a/src/queries/GetAllSingleModelPlan.ts b/src/queries/GetAllSingleModelPlan.ts index bca8f0f36e..3918e02a18 100644 --- a/src/queries/GetAllSingleModelPlan.ts +++ b/src/queries/GetAllSingleModelPlan.ts @@ -103,6 +103,14 @@ export default gql` } participantsAndProviders { id + participantAddedFrequency + participantAddedFrequencyContinually + participantAddedFrequencyOther + participantAddedFrequencyNote + participantRemovedFrequency + participantRemovedFrequencyContinually + participantRemovedFrequencyOther + participantRemovedFrequencyNote communicationMethod communicationMethodOther communicationNote diff --git a/src/queries/types/GetAllModelData.ts b/src/queries/types/GetAllModelData.ts index 528a018183..a27d275cb0 100644 --- a/src/queries/types/GetAllModelData.ts +++ b/src/queries/types/GetAllModelData.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { ModelStatus, ModelCategory, CMSCenter, CMMIGroup, ModelType, TaskStatus, AuthorityAllowance, WaiverType, AlternativePaymentModelType, KeyCharacteristic, GeographyType, GeographyApplication, AgreementType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, ConfidenceType, RecruitmentType, ParticipantSelectionType, ParticipantsType, FrequencyType, ProviderAddType, ProviderLeaveType, OverlapType, BeneficiariesType, SelectionMethodType, TriStateAnswer, YesNoType, CcmInvolvmentType, YesNoOtherType, DataStartsType, EvaluationApproachType, DataForMonitoringType, DataToSendParticipantsType, DataFullTimeOrIncrementalType, MonitoringFileType, ModelLearningSystemType, AgencyOrStateHelpType, StakeholdersType, ContractorSupportType, BenchmarkForPerformanceType, PayType, ClaimsBasedPayType, ComplexityCalculationLevelType, FundingSource, PayRecipient, NonClaimsBasedPayType, TeamRole, DiscussionUserRole } from "./../../types/graphql-global-types"; +import { ModelStatus, ModelCategory, CMSCenter, CMMIGroup, ModelType, TaskStatus, AuthorityAllowance, WaiverType, AlternativePaymentModelType, KeyCharacteristic, GeographyType, GeographyApplication, AgreementType, FrequencyType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, ConfidenceType, RecruitmentType, ParticipantSelectionType, ParticipantsType, ProviderAddType, ProviderLeaveType, OverlapType, BeneficiariesType, SelectionMethodType, TriStateAnswer, YesNoType, CcmInvolvmentType, YesNoOtherType, DataStartsType, EvaluationApproachType, DataForMonitoringType, DataToSendParticipantsType, DataFullTimeOrIncrementalType, MonitoringFileType, ModelLearningSystemType, AgencyOrStateHelpType, StakeholdersType, ContractorSupportType, BenchmarkForPerformanceType, PayType, ClaimsBasedPayType, ComplexityCalculationLevelType, FundingSource, PayRecipient, NonClaimsBasedPayType, TeamRole, DiscussionUserRole } from "./../../types/graphql-global-types"; // ==================================================== // GraphQL query operation: GetAllModelData @@ -120,6 +120,14 @@ export interface GetAllModelData_modelPlanCollection_participantsAndProviders_re export interface GetAllModelData_modelPlanCollection_participantsAndProviders { __typename: "PlanParticipantsAndProviders"; id: UUID; + participantAddedFrequency: FrequencyType[]; + participantAddedFrequencyContinually: string | null; + participantAddedFrequencyOther: string | null; + participantAddedFrequencyNote: string | null; + participantRemovedFrequency: FrequencyType[]; + participantRemovedFrequencyContinually: string | null; + participantRemovedFrequencyOther: string | null; + participantRemovedFrequencyNote: string | null; communicationMethod: ParticipantCommunicationType[]; communicationMethodOther: string | null; communicationNote: string | null; diff --git a/src/queries/types/GetAllSingleModelData.ts b/src/queries/types/GetAllSingleModelData.ts index 07d763e37f..b5e245255d 100644 --- a/src/queries/types/GetAllSingleModelData.ts +++ b/src/queries/types/GetAllSingleModelData.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { ModelStatus, ModelCategory, CMSCenter, CMMIGroup, ModelType, TaskStatus, AuthorityAllowance, WaiverType, AlternativePaymentModelType, KeyCharacteristic, GeographyType, GeographyApplication, AgreementType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, ConfidenceType, RecruitmentType, ParticipantSelectionType, ParticipantsType, FrequencyType, ProviderAddType, ProviderLeaveType, OverlapType, BeneficiariesType, SelectionMethodType, TriStateAnswer, YesNoType, CcmInvolvmentType, YesNoOtherType, DataStartsType, EvaluationApproachType, DataForMonitoringType, DataToSendParticipantsType, DataFullTimeOrIncrementalType, MonitoringFileType, ModelLearningSystemType, AgencyOrStateHelpType, StakeholdersType, ContractorSupportType, BenchmarkForPerformanceType, PayType, ClaimsBasedPayType, ComplexityCalculationLevelType, FundingSource, PayRecipient, NonClaimsBasedPayType, TeamRole, DiscussionUserRole } from "./../../types/graphql-global-types"; +import { ModelStatus, ModelCategory, CMSCenter, CMMIGroup, ModelType, TaskStatus, AuthorityAllowance, WaiverType, AlternativePaymentModelType, KeyCharacteristic, GeographyType, GeographyApplication, AgreementType, FrequencyType, ParticipantCommunicationType, ParticipantRiskType, GainshareArrangementEligibility, ParticipantsIDType, ConfidenceType, RecruitmentType, ParticipantSelectionType, ParticipantsType, ProviderAddType, ProviderLeaveType, OverlapType, BeneficiariesType, SelectionMethodType, TriStateAnswer, YesNoType, CcmInvolvmentType, YesNoOtherType, DataStartsType, EvaluationApproachType, DataForMonitoringType, DataToSendParticipantsType, DataFullTimeOrIncrementalType, MonitoringFileType, ModelLearningSystemType, AgencyOrStateHelpType, StakeholdersType, ContractorSupportType, BenchmarkForPerformanceType, PayType, ClaimsBasedPayType, ComplexityCalculationLevelType, FundingSource, PayRecipient, NonClaimsBasedPayType, TeamRole, DiscussionUserRole } from "./../../types/graphql-global-types"; // ==================================================== // GraphQL query operation: GetAllSingleModelData @@ -120,6 +120,14 @@ export interface GetAllSingleModelData_modelPlan_participantsAndProviders_readyF export interface GetAllSingleModelData_modelPlan_participantsAndProviders { __typename: "PlanParticipantsAndProviders"; id: UUID; + participantAddedFrequency: FrequencyType[]; + participantAddedFrequencyContinually: string | null; + participantAddedFrequencyOther: string | null; + participantAddedFrequencyNote: string | null; + participantRemovedFrequency: FrequencyType[]; + participantRemovedFrequencyContinually: string | null; + participantRemovedFrequencyOther: string | null; + participantRemovedFrequencyNote: string | null; communicationMethod: ParticipantCommunicationType[]; communicationMethodOther: string | null; communicationNote: string | null; diff --git a/src/types/graphql-global-types.ts b/src/types/graphql-global-types.ts index bbce806da4..779dc7f3c8 100644 --- a/src/types/graphql-global-types.ts +++ b/src/types/graphql-global-types.ts @@ -993,6 +993,14 @@ export interface PlanParticipantsAndProvidersChanges { selectionMethod?: ParticipantSelectionType[] | null; selectionOther?: string | null; selectionNote?: string | null; + participantAddedFrequency?: FrequencyType[] | null; + participantAddedFrequencyContinually?: string | null; + participantAddedFrequencyOther?: string | null; + participantAddedFrequencyNote?: string | null; + participantRemovedFrequency?: FrequencyType[] | null; + participantRemovedFrequencyContinually?: string | null; + participantRemovedFrequencyOther?: string | null; + participantRemovedFrequencyNote?: string | null; communicationMethod?: ParticipantCommunicationType[] | null; communicationMethodOther?: string | null; communicationNote?: string | null; diff --git a/src/types/translation.ts b/src/types/translation.ts index 8aa9534f37..bda0b96d51 100644 --- a/src/types/translation.ts +++ b/src/types/translation.ts @@ -224,6 +224,14 @@ export type TranslationParticipantsAndProviders = { selectionOther: TranslationFieldProperties; selectionNote: TranslationFieldProperties; // Communication + participantAddedFrequency: TranslationFieldPropertiesWithOptions; + participantAddedFrequencyContinually: TranslationFieldProperties; + participantAddedFrequencyOther: TranslationFieldProperties; + participantAddedFrequencyNote: TranslationFieldProperties; + participantRemovedFrequency: TranslationFieldPropertiesWithOptions; + participantRemovedFrequencyContinually: TranslationFieldProperties; + participantRemovedFrequencyOther: TranslationFieldProperties; + participantRemovedFrequencyNote: TranslationFieldProperties; communicationMethod: TranslationFieldPropertiesWithOptions; communicationMethodOther: TranslationFieldProperties; communicationNote: TranslationFieldProperties; diff --git a/src/utils/export/CsvData.ts b/src/utils/export/CsvData.ts index b9607835cd..80b0a66da3 100644 --- a/src/utils/export/CsvData.ts +++ b/src/utils/export/CsvData.ts @@ -109,6 +109,14 @@ const csvFields = [ 'generalCharacteristics.status', // Participants and Providers + 'participantsAndProviders.participantAddedFrequency', + 'participantsAndProviders.participantAddedFrequencyContinually', + 'participantsAndProviders.participantAddedFrequencyOther', + 'participantsAndProviders.participantAddedFrequencyNote', + 'participantsAndProviders.participantRemovedFrequency', + 'participantsAndProviders.participantRemovedFrequencyContinually', + 'participantsAndProviders.participantRemovedFrequencyOther', + 'participantsAndProviders.participantRemovedFrequencyNote', 'participantsAndProviders.communicationMethod', // array 'participantsAndProviders.communicationMethodOther', 'participantsAndProviders.communicationNote', diff --git a/src/views/ModelPlan/ReadOnly/ParticipantsAndProviders/__snapshots__/index.test.tsx.snap b/src/views/ModelPlan/ReadOnly/ParticipantsAndProviders/__snapshots__/index.test.tsx.snap index 9571593534..eb8e1300e6 100644 --- a/src/views/ModelPlan/ReadOnly/ParticipantsAndProviders/__snapshots__/index.test.tsx.snap +++ b/src/views/ModelPlan/ReadOnly/ParticipantsAndProviders/__snapshots__/index.test.tsx.snap @@ -335,6 +335,108 @@ exports[`Read Only Model Plan Summary -- Participants And Providers > matches sn
+
+
+

+ How frequently are participants added? +

+
    +
  • + Continually +
  • +
      +
    • + participant added continually +
    • +
    +
+
+
+
+

+ Notes +

+

+ My note +

+
+
+
+
+
+

+ How frequently are participants removed? +

+
    +
  • + Other +
  • +
      +
    • + participant added other +
    • +
    +
+
+
+
+

+ Notes +

+

+ Second note +

+
+
+
+ {checkGroupMap( + isViewingFilteredView, + filteredQuestions, + 'participantAddedFrequency', + + )} + + {checkGroupMap( + isViewingFilteredView, + filteredQuestions, + 'participantRemovedFrequency', + + )} + {checkGroupMap( isViewingFilteredView, filteredQuestions, diff --git a/src/views/ModelPlan/TaskList/ParticipantsAndProviders/Communication/__snapshots__/index.test.tsx.snap b/src/views/ModelPlan/TaskList/ParticipantsAndProviders/Communication/__snapshots__/index.test.tsx.snap index eb5bff6c1e..1d7aef10b3 100644 --- a/src/views/ModelPlan/TaskList/ParticipantsAndProviders/Communication/__snapshots__/index.test.tsx.snap +++ b/src/views/ModelPlan/TaskList/ParticipantsAndProviders/Communication/__snapshots__/index.test.tsx.snap @@ -97,6 +97,354 @@ exports[`Model Plan Communication > matches snapshot 1`] = ` class="usa-fieldset" data-testid="fieldset" > +
+ +
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +
+
+ + +

+

+
+
+ + +
+
+
+
+ +
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +
+
+
+ + +
+
+
{ const { t: miscellaneousT } = useTranslation('miscellaneous'); const { + participantAddedFrequency: participantAddedFrequencyConfig, + participantRemovedFrequency: participantRemovedFrequencyConfig, communicationMethod: communicationMethodConfig, riskType: riskTypeConfig, willRiskChange: willRiskChangeConfig @@ -69,6 +72,14 @@ export const Communication = () => { const { id, + participantAddedFrequency, + participantAddedFrequencyContinually, + participantAddedFrequencyOther, + participantAddedFrequencyNote, + participantRemovedFrequency, + participantRemovedFrequencyContinually, + participantRemovedFrequencyOther, + participantRemovedFrequencyNote, communicationMethod, communicationMethodOther, communicationNote, @@ -128,6 +139,16 @@ export const Communication = () => { const initialValues: CommunicationFormType = { __typename: 'PlanParticipantsAndProviders', id: id ?? '', + participantAddedFrequency: participantAddedFrequency ?? [], + participantAddedFrequencyContinually: + participantAddedFrequencyContinually ?? '', + participantAddedFrequencyOther: participantAddedFrequencyOther ?? '', + participantAddedFrequencyNote: participantAddedFrequencyNote ?? '', + participantRemovedFrequency: participantRemovedFrequency ?? [], + participantRemovedFrequencyContinually: + participantRemovedFrequencyContinually ?? '', + participantRemovedFrequencyOther: participantRemovedFrequencyOther ?? '', + participantRemovedFrequencyNote: participantRemovedFrequencyNote ?? '', communicationMethod: communicationMethod ?? [], communicationMethodOther: communicationMethodOther ?? '', communicationNote: communicationNote ?? '', @@ -222,6 +243,30 @@ export const Communication = () => { }} >
+ + + +