Skip to content

Commit

Permalink
[MINT 3040]/additional details patient protection (#1286)
Browse files Browse the repository at this point in the history
* feat: add additional info for plan payments  on the backend, db, and gql. Create and export translation

* fix: correct field ordering error

* Added new fields for funding source, FE

* fix: unit test verifies string value instead of pointer address

* fix: update snapshots for js

---------

Co-authored-by: Patrick Segura <[email protected]>
  • Loading branch information
StevenWadeOddball and patrickseguraoddball authored Aug 12, 2024
1 parent 13c53ae commit 84bc61e
Show file tree
Hide file tree
Showing 29 changed files with 2,511 additions and 89 deletions.
2 changes: 1 addition & 1 deletion MINT.postman_collection.json
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@
"body": {
"mode": "graphql",
"graphql": {
"query": "mutation updatePlanPayments\n{\n updatePlanPayments (id: \"{{paymentsID}}\",changes: \n {\n status: READY_FOR_CLEARANCE\n # Page 1\n fundingSource: [PATIENT_PROTECTION_AFFORDABLE_CARE_ACT, MEDICARE_PART_A_HI_TRUST_FUND,MEDICARE_PART_B_SMI_TRUST_FUND, OTHER]\n fundingSourceMedicareAInfo: \"hello medicare A\"\n fundingSourceMedicareBInfo: \"hello medicare B\"\n fundingSourceOther: \"My cool note\"\n fundingSourceNote: \"hello this is a note\"\n fundingSourceR: [PATIENT_PROTECTION_AFFORDABLE_CARE_ACT, OTHER]\n fundingSourceRMedicareAInfo: \"hello medicare A --> R\"\n fundingSourceRMedicareBInfo: \"hello medicare B ---> R\"\n fundingSourceROther: \"Trust others\"\n fundingSourceRNote: \" Please trust us\"\n payRecipients: [PROVIDERS, BENEFICIARIES, PARTICIPANTS, STATES, OTHER]\n payRecipientsOtherSpecification: \"asdhjkasdlhjk\"\n payRecipientsNote: \"hasdjkaskhjd\"\n payType: [CLAIMS_BASED_PAYMENTS, NON_CLAIMS_BASED_PAYMENTS]\n payTypeNote: \"ashjkdasdhjkasd\"\n\n # Page 2\n payClaims: [ADJUSTMENTS_TO_FFS_PAYMENTS, CARE_MANAGEMENT_HOME_VISITS, REDUCTIONS_TO_BENEFICIARY_COST_SHARING, SNF_CLAIMS_WITHOUT_3DAY_HOSPITAL_ADMISSIONS, TELEHEALTH_SERVICES_NOT_TRADITIONAL_MEDICARE, SERVICES_NOT_COVERED_THROUGH_TRADITIONAL_MEDICARE, OTHER]\n \n #Page 3\n willBePaymentAdjustments: true\n willBePaymentAdjustmentsNote: \"Yes this is a note about payment adjustments\"\n\n\n })\n {\n readyForReviewBy\n readyForReviewDts\n readyForClearanceBy\n readyForClearanceDts\n status\n nonClaimsPaymentsNote\n \n id\n modelPlanID\n\n # Page 1\n fundingSource\n fundingSourceMedicareAInfo\n fundingSourceMedicareBInfo\n fundingSourceOther\n fundingSourceNote\n fundingSourceR\n fundingSourceRMedicareAInfo\n fundingSourceRMedicareBInfo\n fundingSourceROther\n fundingSourceRNote\n payRecipients\n payRecipientsOtherSpecification\n payRecipientsNote\n payType\n payTypeNote\n\n # Page 2\n payClaims\n payClaimsOther\n shouldAnyProvidersExcludedFFSSystems\n shouldAnyProviderExcludedFFSSystemsNote\n changesMedicarePhysicianFeeSchedule\n changesMedicarePhysicianFeeScheduleNote\n affectsMedicareSecondaryPayerClaims\n affectsMedicareSecondaryPayerClaimsHow\n affectsMedicareSecondaryPayerClaimsNote\n payModelDifferentiation\n\n # Page 3\n willBePaymentAdjustments\n willBePaymentAdjustmentsNote\n creatingDependenciesBetweenServices\n creatingDependenciesBetweenServicesNote\n needsClaimsDataCollection\n needsClaimsDataCollectionNote\n providingThirdPartyFile\n isContractorAwareTestDataRequirements\n\n # Page 4\n beneficiaryCostSharingLevelAndHandling\n waiveBeneficiaryCostSharingForAnyServices\n waiveBeneficiaryCostSharingServiceSpecification\n waiverOnlyAppliesPartOfPayment\n waiveBeneficiaryCostSharingNote\n\n # Page 5\n nonClaimsPayments\n nonClaimsPaymentOther\n paymentCalculationOwner\n numberPaymentsPerPayCycle\n numberPaymentsPerPayCycleNote\n sharedSystemsInvolvedAdditionalClaimPayment\n sharedSystemsInvolvedAdditionalClaimPaymentNote\n planningToUseInnovationPaymentContractor\n planningToUseInnovationPaymentContractorNote\n\n\n # Page 6\n expectedCalculationComplexityLevel\n expectedCalculationComplexityLevelNote\n canParticipantsSelectBetweenPaymentMechanisms\n canParticipantsSelectBetweenPaymentMechanismsHow\n canParticipantsSelectBetweenPaymentMechanismsNote\n anticipatedPaymentFrequency\n anticipatedPaymentFrequencyOther\n anticipatedPaymentFrequencyNote\n\n # Page 7\n willRecoverPayments\n willRecoverPaymentsNote\n anticipateReconcilingPaymentsRetrospectively\n anticipateReconcilingPaymentsRetrospectivelyNote\n paymentStartDate\n paymentStartDateNote\n\n # Meta\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n \n \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}",
"query": "mutation updatePlanPayments\n{\n updatePlanPayments (id: \"{{paymentsID}}\",changes: \n {\n status: READY_FOR_CLEARANCE\n # Page 1\n fundingSource: [PATIENT_PROTECTION_AFFORDABLE_CARE_ACT, MEDICARE_PART_A_HI_TRUST_FUND,MEDICARE_PART_B_SMI_TRUST_FUND, OTHER]\n fundingSourcePatientProtectionInfo: \"hello PATIENT_PROTECTION_AFFORDABLE_CARE_ACT A\"\n fundingSourceMedicareAInfo: \"hello medicare A\"\n fundingSourceMedicareBInfo: \"hello medicare B\"\n fundingSourceOther: \"My cool note\"\n fundingSourceNote: \"hello this is a note\"\n fundingSourceR: [PATIENT_PROTECTION_AFFORDABLE_CARE_ACT, OTHER]\n fundingSourceRPatientProtectionInfo: \"hello PATIENT_PROTECTION_AFFORDABLE_CARE_ACT A --> R\"\n fundingSourceRMedicareAInfo: \"hello medicare A --> R\"\n fundingSourceRMedicareBInfo: \"hello medicare B ---> R\"\n fundingSourceROther: \"Trust others\"\n fundingSourceRNote: \" Please trust us\"\n payRecipients: [PROVIDERS, BENEFICIARIES, PARTICIPANTS, STATES, OTHER]\n payRecipientsOtherSpecification: \"asdhjkasdlhjk\"\n payRecipientsNote: \"hasdjkaskhjd\"\n payType: [CLAIMS_BASED_PAYMENTS, NON_CLAIMS_BASED_PAYMENTS]\n payTypeNote: \"ashjkdasdhjkasd\"\n\n # Page 2\n payClaims: [ADJUSTMENTS_TO_FFS_PAYMENTS, CARE_MANAGEMENT_HOME_VISITS, REDUCTIONS_TO_BENEFICIARY_COST_SHARING, SNF_CLAIMS_WITHOUT_3DAY_HOSPITAL_ADMISSIONS, TELEHEALTH_SERVICES_NOT_TRADITIONAL_MEDICARE, SERVICES_NOT_COVERED_THROUGH_TRADITIONAL_MEDICARE, OTHER]\n \n #Page 3\n willBePaymentAdjustments: true\n willBePaymentAdjustmentsNote: \"Yes this is a note about payment adjustments\"\n\n\n })\n {\n readyForReviewBy\n readyForReviewDts\n readyForClearanceBy\n readyForClearanceDts\n status\n nonClaimsPaymentsNote\n \n id\n modelPlanID\n\n # Page 1\n fundingSource\n fundingSourcePatientProtectionInfo\n fundingSourceMedicareAInfo\n fundingSourceMedicareBInfo\n fundingSourceOther\n fundingSourceNote\n fundingSourceR\n fundingSourceRPatientProtectionInfo\n fundingSourceRMedicareAInfo\n fundingSourceRMedicareBInfo\n fundingSourceROther\n fundingSourceRNote\n payRecipients\n payRecipientsOtherSpecification\n payRecipientsNote\n payType\n payTypeNote\n\n # Page 2\n payClaims\n payClaimsOther\n shouldAnyProvidersExcludedFFSSystems\n shouldAnyProviderExcludedFFSSystemsNote\n changesMedicarePhysicianFeeSchedule\n changesMedicarePhysicianFeeScheduleNote\n affectsMedicareSecondaryPayerClaims\n affectsMedicareSecondaryPayerClaimsHow\n affectsMedicareSecondaryPayerClaimsNote\n payModelDifferentiation\n\n # Page 3\n willBePaymentAdjustments\n willBePaymentAdjustmentsNote\n creatingDependenciesBetweenServices\n creatingDependenciesBetweenServicesNote\n needsClaimsDataCollection\n needsClaimsDataCollectionNote\n providingThirdPartyFile\n isContractorAwareTestDataRequirements\n\n # Page 4\n beneficiaryCostSharingLevelAndHandling\n waiveBeneficiaryCostSharingForAnyServices\n waiveBeneficiaryCostSharingServiceSpecification\n waiverOnlyAppliesPartOfPayment\n waiveBeneficiaryCostSharingNote\n\n # Page 5\n nonClaimsPayments\n nonClaimsPaymentOther\n paymentCalculationOwner\n numberPaymentsPerPayCycle\n numberPaymentsPerPayCycleNote\n sharedSystemsInvolvedAdditionalClaimPayment\n sharedSystemsInvolvedAdditionalClaimPaymentNote\n planningToUseInnovationPaymentContractor\n planningToUseInnovationPaymentContractorNote\n\n\n # Page 6\n expectedCalculationComplexityLevel\n expectedCalculationComplexityLevelNote\n canParticipantsSelectBetweenPaymentMechanisms\n canParticipantsSelectBetweenPaymentMechanismsHow\n canParticipantsSelectBetweenPaymentMechanismsNote\n anticipatedPaymentFrequency\n anticipatedPaymentFrequencyOther\n anticipatedPaymentFrequencyNote\n\n # Page 7\n willRecoverPayments\n willRecoverPaymentsNote\n anticipateReconcilingPaymentsRetrospectively\n anticipateReconcilingPaymentsRetrospectivelyNote\n paymentStartDate\n paymentStartDateNote\n\n # Meta\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n \n \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}",
"variables": ""
}
},
Expand Down
2 changes: 2 additions & 0 deletions mappings/translation/plan_ops_eval_and_learning.json
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,7 @@
"dbField": "produce_benefit_enhancement_files",
"label": "Will you produce Benefit Enhancement Files?",
"sublabel": "This means we would use these files for Participating and Preferred Providers.",
"questionTooltip": "This means we would use these files for Participating and Preferred Providers.",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 4.05,
Expand Down Expand Up @@ -824,6 +825,7 @@
"dbField": "produce_benefit_enhancement_files",
"label": "Will you produce Benefit Enhancement Files?",
"sublabel": "This means we would use these files for Participating and Preferred Providers.",
"questionTooltip": "This means we would use these files for Participating and Preferred Providers.",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 4.05,
Expand Down
35 changes: 32 additions & 3 deletions mappings/translation/plan_payments.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,18 @@
"OTHER": "Other"
}
},
"fundingSourcePatientProtectionInfo": {
"gqlField": "fundingSourcePatientProtectionInfo",
"goField": "FundingSourcePatientProtectionInfo",
"dbField": "funding_source_patient_protection_info",
"label": "Additional details",
"exportLabel": "Additional details for Patient Protection Affordable Care Act (Sec 3021)",
"dataType": "STRING",
"formType": "TEXT",
"order": 1.011,
"isOtherType": true,
"otherParentField": "funding_source"
},
"fundingSourceMedicareAInfo": {
"gqlField": "fundingSourceMedicareAInfo",
"goField": "FundingSourceMedicareAInfo",
Expand Down Expand Up @@ -80,6 +92,18 @@
"OTHER": "Other"
}
},
"fundingSourceRPatientProtectionInfo": {
"gqlField": "fundingSourceRPatientProtectionInfo",
"goField": "FundingSourceRPatientProtectionInfo",
"dbField": "funding_source_r_patient_protection_info",
"label": "Additional details",
"exportLabel": "Additional details for Patient Protection Affordable Care Act (Sec 3021)",
"dataType": "STRING",
"formType": "TEXT",
"order": 1.061,
"isOtherType": true,
"otherParentField": "funding_source_r"
},
"fundingSourceRMedicareAInfo": {
"gqlField": "fundingSourceRMedicareAInfo",
"goField": "FundingSourceRMedicareAInfo",
Expand Down Expand Up @@ -234,6 +258,7 @@
"dbField": "waiver_only_applies_part_of_payment",
"label": "Would the waiver only apply for part of the payment?",
"sublabel": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"questionTooltip": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 4.04,
Expand Down Expand Up @@ -332,6 +357,7 @@
"dbField": "needs_claims_data_collection",
"label": "Will any additional data need to be collected for claims?",
"sublabel": "If you are not sure what current data is collected via provider billing, please ask Provider Billing Group (PBG)",
"questionTooltip": "If you are not sure what current data is collected via provider billing, please ask Provider Billing Group (PBG)",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 3.03,
Expand Down Expand Up @@ -406,7 +432,6 @@
"dbField": "number_payments_per_pay_cycle",
"label": "Number of payments per payment cycle",
"sublabel": "This only applies if you are making non-claims-based payments",
"questionTooltip": "Note: If there will be 30+ payees we recommend a contractor.",
"dataType": "STRING",
"formType": "TEXT",
"order": 5.05
Expand All @@ -430,6 +455,7 @@
"dbField": "planning_to_use_innovation_payment_contractor",
"label": "Are you planning to use the Innovation Payment Contractor?",
"sublabel": "Note: If there will be 30+ payees we recommend a contractor.",
"questionTooltip": "Note: If there will be 30+ payees we recommend a contractor.",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 5.09,
Expand Down Expand Up @@ -504,6 +530,7 @@
"dbField": "waiver_only_applies_part_of_payment",
"label": "Would the waiver only apply for part of the payment?",
"sublabel": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"questionTooltip": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 4.04,
Expand Down Expand Up @@ -799,6 +826,7 @@
"dbField": "needs_claims_data_collection",
"label": "Will any additional data need to be collected for claims?",
"sublabel": "If you are not sure what current data is collected via provider billing, please ask Provider Billing Group (PBG)",
"questionTooltip": "If you are not sure what current data is collected via provider billing, please ask Provider Billing Group (PBG)",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 3.03,
Expand Down Expand Up @@ -977,6 +1005,7 @@
"dbField": "waiver_only_applies_part_of_payment",
"label": "Would the waiver only apply for part of the payment?",
"sublabel": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"questionTooltip": "For example, we would assess cost-sharing for the service itself, but not for an add-on payment",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 4.04,
Expand Down Expand Up @@ -1108,7 +1137,6 @@
"dbField": "number_payments_per_pay_cycle",
"label": "Number of payments per payment cycle",
"sublabel": "This only applies if you are making non-claims-based payments",
"questionTooltip": "Note: If there will be 30+ payees we recommend a contractor.",
"dataType": "STRING",
"formType": "TEXT",
"order": 5.05,
Expand Down Expand Up @@ -1186,6 +1214,7 @@
"dbField": "planning_to_use_innovation_payment_contractor",
"label": "Are you planning to use the Innovation Payment Contractor?",
"sublabel": "Note: If there will be 30+ payees we recommend a contractor.",
"questionTooltip": "Note: If there will be 30+ payees we recommend a contractor.",
"dataType": "BOOLEAN",
"formType": "RADIO",
"order": 5.09,
Expand Down Expand Up @@ -1477,7 +1506,6 @@
"goField": "PaymentDemandRecoupmentFrequency",
"dbField": "payment_demand_recoupment_frequency",
"label": "How frequently do you anticipate making demands/recoupments?",
"questionTooltip": "Note: If you are unsure of an approximate date, please select the first day of the approximate month.",
"dataType": "ENUM",
"formType": "CHECKBOX",
"order": 7.09,
Expand Down Expand Up @@ -1532,6 +1560,7 @@
"label": "When will payments start? (Enter an approximate date)",
"readonlyLabel": "When will payments start?",
"sublabel": "Note: If you are unsure of an approximate date, please select the first day of the approximate month.",
"questionTooltip": "Note: If you are unsure of an approximate date, please select the first day of the approximate month.",
"dataType": "DATE",
"formType": "DATEPICKER",
"order": 7.13
Expand Down
7 changes: 7 additions & 0 deletions migrations/V171__Plan_Payments_Additional_Details.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ALTER TABLE plan_payments
ADD COLUMN funding_source_patient_protection_info ZERO_STRING,
ADD COLUMN funding_source_r_patient_protection_info ZERO_STRING;


COMMENT ON COLUMN plan_payments.funding_source_patient_protection_info IS 'additional information to be provided about the funding source if patient protection info is selected';
COMMENT ON COLUMN plan_payments.funding_source_r_patient_protection_info IS 'additional information to be provided about the funding source for reconciliation if patient protection info is selected';
Loading

0 comments on commit 84bc61e

Please sign in to comment.