@unite-us/app-create-referral 0.15.103 → 0.15.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,78 @@
1
+ import { buildGroupedReferrals } from '../buildGroupedReferrals';
2
+ import { filterNetworks } from '../utils';
3
+ describe('buildGroupedReferrals network assignment', () => {
4
+ it('uses a shared network for a multi-network program and leaves ambiguous referrals unselected', () => {
5
+ const east = {
6
+ id: 'east',
7
+ name: 'Unite Us East',
8
+ state: 'active'
9
+ };
10
+ const uniteUsNetwork = {
11
+ id: 'unite-us-network',
12
+ name: 'UniteUsNetwork',
13
+ state: 'active'
14
+ };
15
+ const xUniteCalifornia = {
16
+ id: 'x-unite-california',
17
+ name: 'xUniteCalifornia',
18
+ state: 'active'
19
+ };
20
+ const referral = {
21
+ sendingProvider: {
22
+ id: 'sending-provider',
23
+ networks: [east, uniteUsNetwork]
24
+ },
25
+ service: {
26
+ id: 'service-1'
27
+ },
28
+ programs: [{
29
+ id: 'program-a',
30
+ status: null,
31
+ fee_schedule_program: {
32
+ authorization_required: false
33
+ },
34
+ provider: {
35
+ id: 'provider-a',
36
+ licensed: true,
37
+ sensitive: false,
38
+ provider_type: 'organization',
39
+ networks: [east, uniteUsNetwork]
40
+ }
41
+ }, {
42
+ id: 'program-b',
43
+ status: null,
44
+ fee_schedule_program: {
45
+ authorization_required: false
46
+ },
47
+ provider: {
48
+ id: 'provider-b',
49
+ licensed: true,
50
+ sensitive: false,
51
+ provider_type: 'organization',
52
+ networks: [uniteUsNetwork, xUniteCalifornia]
53
+ }
54
+ }]
55
+ };
56
+ const candidateNetworks = filterNetworks(referral);
57
+ expect(candidateNetworks.map(network => network.id)).toEqual(expect.arrayContaining([east.id, uniteUsNetwork.id]));
58
+ expect(candidateNetworks.length).toBeGreaterThan(1);
59
+ const grouped = buildGroupedReferrals([referral], {
60
+ sensitive: false
61
+ });
62
+ const programAReferral = grouped.find(item => {
63
+ var _item$programs;
64
+ return ((_item$programs = item.programs) === null || _item$programs === void 0 || (_item$programs = _item$programs[0]) === null || _item$programs === void 0 ? void 0 : _item$programs.id) === 'program-a';
65
+ });
66
+ const programBReferral = grouped.find(item => {
67
+ var _item$programs2;
68
+ return ((_item$programs2 = item.programs) === null || _item$programs2 === void 0 || (_item$programs2 = _item$programs2[0]) === null || _item$programs2 === void 0 ? void 0 : _item$programs2.id) === 'program-b';
69
+ });
70
+ expect(programAReferral).toBeDefined();
71
+ expect(programBReferral).toBeDefined();
72
+ expect(programAReferral.network).toBeNull();
73
+ expect(programBReferral.programs[0].provider.networks.length).toBeGreaterThan(1);
74
+ expect(programBReferral.network.id).toBe('unite-us-network');
75
+ expect(programBReferral.programs[0].provider.networks.map(network => network.id)).toContain('unite-us-network');
76
+ });
77
+ });
78
+ //# sourceMappingURL=buildGroupedReferrals.networkBug.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildGroupedReferrals.networkBug.test.js","names":["buildGroupedReferrals","filterNetworks","describe","it","east","id","name","state","uniteUsNetwork","xUniteCalifornia","referral","sendingProvider","networks","service","programs","status","fee_schedule_program","authorization_required","provider","licensed","sensitive","provider_type","candidateNetworks","expect","map","network","toEqual","arrayContaining","length","toBeGreaterThan","grouped","programAReferral","find","item","_item$programs","programBReferral","_item$programs2","toBeDefined","toBeNull","toBe","toContain"],"sources":["../../../../src/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js"],"sourcesContent":["import { buildGroupedReferrals } from '../buildGroupedReferrals';\nimport { filterNetworks } from '../utils';\n\ndescribe('buildGroupedReferrals network assignment', () => {\n it('uses a shared network for a multi-network program and leaves ambiguous referrals unselected', () => {\n const east = { id: 'east', name: 'Unite Us East', state: 'active' };\n const uniteUsNetwork = { id: 'unite-us-network', name: 'UniteUsNetwork', state: 'active' };\n const xUniteCalifornia = { id: 'x-unite-california', name: 'xUniteCalifornia', state: 'active' };\n\n const referral = {\n sendingProvider: {\n id: 'sending-provider',\n networks: [east, uniteUsNetwork],\n },\n service: { id: 'service-1' },\n programs: [\n {\n id: 'program-a',\n status: null,\n fee_schedule_program: { authorization_required: false },\n provider: {\n id: 'provider-a',\n licensed: true,\n sensitive: false,\n provider_type: 'organization',\n networks: [east, uniteUsNetwork],\n },\n },\n {\n id: 'program-b',\n status: null,\n fee_schedule_program: { authorization_required: false },\n provider: {\n id: 'provider-b',\n licensed: true,\n sensitive: false,\n provider_type: 'organization',\n networks: [uniteUsNetwork, xUniteCalifornia],\n },\n },\n ],\n };\n\n const candidateNetworks = filterNetworks(referral);\n expect(candidateNetworks.map((network) => network.id)).toEqual(\n expect.arrayContaining([east.id, uniteUsNetwork.id]),\n );\n expect(candidateNetworks.length).toBeGreaterThan(1);\n\n const grouped = buildGroupedReferrals([referral], { sensitive: false });\n const programAReferral = grouped.find((item) => item.programs?.[0]?.id === 'program-a');\n const programBReferral = grouped.find((item) => item.programs?.[0]?.id === 'program-b');\n\n expect(programAReferral).toBeDefined();\n expect(programBReferral).toBeDefined();\n expect(programAReferral.network).toBeNull();\n expect(programBReferral.programs[0].provider.networks.length).toBeGreaterThan(1);\n\n expect(programBReferral.network.id).toBe('unite-us-network');\n expect(programBReferral.programs[0].provider.networks.map((network) => network.id))\n .toContain('unite-us-network');\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,19 @@ import { OFF_PLATFORM_REFERRALS_ONLY } from './constants';
17
17
  // - Unlisted programs can only be grouped with programs in the same service and with off platform referrals
18
18
 
19
19
  const withPreventUngroup = fn => referral => referral.prevent_ungroup ? [referral] : fn(referral);
20
+ const getReferralNetworkForProgram = (referral, program) => {
21
+ const networkOptions = filterNetworks(_objectSpread(_objectSpread({}, referral), {}, {
22
+ programs: [program]
23
+ }));
24
+ if (networkOptions.length === 1) {
25
+ return head(networkOptions);
26
+ }
27
+ const existingNetwork = networkOptions.find(network => {
28
+ var _referral$network;
29
+ return network.id === ((_referral$network = referral.network) === null || _referral$network === void 0 ? void 0 : _referral$network.id);
30
+ });
31
+ return existingNetwork || null;
32
+ };
20
33
  const groupByNetworkImpl = referral => {
21
34
  const networks = filterNetworks(referral);
22
35
  // if there is only one possible network, set the referral's network and return the referral
@@ -53,7 +66,7 @@ const groupByNetworkImpl = referral => {
53
66
  // create separate referrals for each program with multiple networks
54
67
  const multipleNetworkReferrals = multipleNetworkPrograms.map(program => _objectSpread(_objectSpread({}, referral), {}, {
55
68
  programs: [program],
56
- network: head(networks)
69
+ network: getReferralNetworkForProgram(referral, program)
57
70
  }));
58
71
  // create separate referrals for each program with no network
59
72
  const noNetworkReferrals = noNetworkPrograms.map(program => _objectSpread(_objectSpread({}, referral), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"buildGroupedReferrals.js","names":["isEmpty","every","head","groupBy","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","separateSensitiveAndNonSensitiveAuthPrograms","createSameFeeReferrals","createSensitiveProgramReferrals","createNonAuthReferrals","OFF_PLATFORM_REFERRALS_ONLY","withPreventUngroup","fn","referral","prevent_ungroup","groupByNetworkImpl","networks","length","network","singleNetworkPrograms","programs","filter","program","_program$provider","provider","multipleNetworkPrograms","_program$provider2","noNetworkPrograms","_program$provider3","programsGroupedByNetworkId","sameNetworkReferrals","Object","values","map","_programs$0$provider","_objectSpread","multipleNetworkReferrals","noNetworkReferrals","groupByNetwork","groupByNetworkStatus","p","inNetworkPrograms","OONPrograms","groupBySensitivityImpl","_head","_p$provider","sensitive","sensitivePrograms","_p$provider2","nonSensitivePrograms","_p$provider3","nonSensitiveReferrals","groupBySensitivity","groupByCCImpl","_head2","_p$provider4","provider_type","ccPrograms","_p$provider5","nonCCPrograms","_p$provider6","nonCCReferrals","groupByCC","preventGroupingForSensitiveProvider","groupByFunded","fundedWithAuthorizationPrograms","_p$fee_schedule_progr","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","_p$fee_schedule_progr2","sensitiveAuthPrograms","nonSensitive","nonSensitiveAuthPrograms","sameFeeReferrals","sensitiveProgramReferrals","nonAuthReferrals","groupUnlistedProgramsToReferrals","referrals","unlistedReferrals","listedReferrals","forEach","id","includes","push","unlistedReferral","processReferral","foundReferral","find","_unlistedReferral$pro","_referral$programs$","services","service","status","toLowerCase","splice","updatedUnlistedReferrals","_unlistedReferral$pro2","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","groupOperations","operation"],"sources":["../../../src/pages/builder/buildGroupedReferrals.js"],"sourcesContent":["import { isEmpty, every, head, groupBy, flatMap } from 'lodash';\nimport {\n isUnlistedReferral,\n filterNetworks,\n programIsOffPlatform,\n programIsOnPlatform,\n separateSensitiveAndNonSensitiveAuthPrograms,\n createSameFeeReferrals,\n createSensitiveProgramReferrals,\n createNonAuthReferrals,\n} from './utils';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\n\n// Grouping Rules:\n// - On- and off-platform programs cannot be grouped\n// - Service must be the same\n// - Programs in coordination centers cannot be grouped\n// - Programs must be in the same network\n// - Programs in sensitive providers cannot be grouped\n// - Programs at the same provider cannot be grouped\n// - Users at sensitive providers cannot group programs\n// - Funded programs that require authroization with the same fee schedule program can be grouped\n// - Unlisted programs can only be grouped with programs in the same service and with off platform referrals\n\nconst withPreventUngroup = (fn) => (referral) => (\n referral.prevent_ungroup ? [referral] : fn(referral)\n);\n\nconst groupByNetworkImpl = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network and return the referral\n if (networks.length === 1 || isUnlistedReferral(referral)) {\n referral.network = head(networks);\n return [referral];\n }\n // if there is more than one possible network, divide the programs into multiple referrals:\n // referrals with programs in providers in a single network and\n // referrals with programs in providers in multiple networks\n // referrals with unlisted programs, don't have network\n const singleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length === 1);\n const multipleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length > 1);\n const noNetworkPrograms = referral.programs.filter(program => !program.provider?.networks?.length);\n // group single network programs by network id\n const programsGroupedByNetworkId = groupBy(singleNetworkPrograms, 'provider.networks[0].id');\n // create a grouped referral for programs with the same single network\n const sameNetworkReferrals = Object.values(programsGroupedByNetworkId).map(programs => ({\n ...referral,\n programs,\n network: head(programs[0].provider?.networks),\n }))\n // create separate referrals for each program with multiple networks\n const multipleNetworkReferrals = multipleNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n network: head(networks),\n }))\n // create separate referrals for each program with no network\n const noNetworkReferrals = noNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n }))\n\n return [...multipleNetworkReferrals, ...sameNetworkReferrals, ...noNetworkReferrals];\n}\n\nconst groupByNetwork = withPreventUngroup(groupByNetworkImpl);\n\nconst groupByNetworkStatus = (referral) => {\n if (referral.prevent_ungroup) {\n return [referral];\n }\n // if every program is on-platform or every programs is off-platform, return the referral\n if (every(referral.programs.map(p => programIsOnPlatform(p))) ||\n every(referral.programs.map(p => programIsOffPlatform(p)))) {\n return [referral];\n }\n // divide programs into on- and off-platform referrals\n const inNetworkPrograms = referral.programs.filter(p => programIsOnPlatform(p));\n const OONPrograms = referral.programs.filter(p => programIsOffPlatform(p));\n\n return [\n ...inNetworkPrograms.length ? [{ ...referral, programs: inNetworkPrograms }] : [],\n ...OONPrograms.length ? [{ ...referral, programs: OONPrograms }] : []\n ];\n}\n\nconst groupBySensitivityImpl = (referral) => {\n // if every program is non-sensitive or the referral contains only one sensitive program, return referral\n if (every(referral.programs.map(p => !p?.provider?.sensitive)) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.sensitive)) {\n return [referral];\n }\n // create a new referral for each sensitive program\n const sensitivePrograms = referral.programs.filter(p => p?.provider?.sensitive).map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for non-sensitive programs\n const nonSensitivePrograms = referral.programs.filter(p => !p?.provider?.sensitive);\n const nonSensitiveReferrals = !isEmpty(nonSensitivePrograms) ? [{ ...referral, programs: nonSensitivePrograms }] : [];\n\n return [...sensitivePrograms, ...nonSensitiveReferrals];\n}\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst groupByCCImpl = (referral) => {\n // if no programs are in a coordination center or the referral contains only one program in a cc, return referral\n if (every(referral.programs.map(p => p?.provider?.provider_type !== 'coordination_center')) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.provider_type === 'coordination_center')) {\n return [referral];\n }\n // create a new referral for each program in a cc\n const ccPrograms = referral.programs.filter(p => p?.provider?.provider_type === 'coordination_center')\n .map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for programs not in a cc\n const nonCCPrograms = referral.programs.filter(p => p?.provider?.provider_type !== 'coordination_center');\n const nonCCReferrals = !isEmpty(nonCCPrograms) ? [{ ...referral, programs: nonCCPrograms }] : [];\n\n return [...ccPrograms, ...nonCCReferrals];\n}\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst groupByFunded = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n\n const fundedWithAuthorizationPrograms = referral.programs.filter(p => p.fee_schedule_program?.authorization_required);\n const fundedWithoutAuthorizationPrograms = referral.programs.filter(p => !p.fee_schedule_program?.authorization_required);\n\n const {\n sensitive: sensitiveAuthPrograms,\n nonSensitive: nonSensitiveAuthPrograms,\n } = separateSensitiveAndNonSensitiveAuthPrograms(fundedWithAuthorizationPrograms);\n\n const sameFeeReferrals = createSameFeeReferrals(referral, nonSensitiveAuthPrograms);\n const sensitiveProgramReferrals = createSensitiveProgramReferrals(referral, sensitiveAuthPrograms);\n const nonAuthReferrals = createNonAuthReferrals(referral, fundedWithoutAuthorizationPrograms);\n\n return [...nonAuthReferrals, ...sameFeeReferrals, ...sensitiveProgramReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const unlistedReferrals = [], listedReferrals = [];\n\n referrals.forEach(referral => {\n if (every(referral.programs, p => p.id.includes('unlisted')))\n unlistedReferrals.push(referral);\n else\n listedReferrals.push(referral);\n });\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n // Loop over the unlisted referrals, in case of a match, add the unlisted program to the referral \n // and remove it from the unlisted referral\n unlistedReferrals.forEach(unlistedReferral => {\n const processReferral = (referrals) => {\n // Find a referral with the same service and off-platform status\n const foundReferral = referrals.find(referral =>\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n );\n \n if (foundReferral) {\n // Add the unlisted program to the referral\n foundReferral.programs.push(unlistedReferral.programs[0]);\n // Remove the unlisted program from the referral, otherwise, it will be added to referrals multiple times\n unlistedReferral.programs.splice(0, 1);\n }\n };\n \n processReferral(listedReferrals);\n processReferral(unlistedReferrals);\n });\n\n // Remove referrals with no programs\n const updatedUnlistedReferrals = unlistedReferrals.filter(unlistedReferral => {\n if (unlistedReferral?.programs?.length > 0)\n return unlistedReferral;\n });\n\n return [...listedReferrals, ...updatedUnlistedReferrals];\n}\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n let groupedReferrals = newReferrals;\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n groupedReferrals = flatMap(groupedReferrals, preventGroupingForSensitiveProvider);\n } else {\n const groupOperations = [];\n\n groupOperations.push(groupByFunded, groupByNetwork, groupByNetworkStatus, groupBySensitivity, groupByCC);\n\n groupOperations.forEach(operation => {\n groupedReferrals = flatMap(groupedReferrals, operation);\n });\n\n groupedReferrals = groupUnlistedProgramsToReferrals(groupedReferrals);\n }\n\n return groupedReferrals;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildGroupedReferrals.js","names":["isEmpty","every","head","groupBy","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","separateSensitiveAndNonSensitiveAuthPrograms","createSameFeeReferrals","createSensitiveProgramReferrals","createNonAuthReferrals","OFF_PLATFORM_REFERRALS_ONLY","withPreventUngroup","fn","referral","prevent_ungroup","getReferralNetworkForProgram","program","networkOptions","_objectSpread","programs","length","existingNetwork","find","network","_referral$network","id","groupByNetworkImpl","networks","singleNetworkPrograms","filter","_program$provider","provider","multipleNetworkPrograms","_program$provider2","noNetworkPrograms","_program$provider3","programsGroupedByNetworkId","sameNetworkReferrals","Object","values","map","_programs$0$provider","multipleNetworkReferrals","noNetworkReferrals","groupByNetwork","groupByNetworkStatus","p","inNetworkPrograms","OONPrograms","groupBySensitivityImpl","_head","_p$provider","sensitive","sensitivePrograms","_p$provider2","nonSensitivePrograms","_p$provider3","nonSensitiveReferrals","groupBySensitivity","groupByCCImpl","_head2","_p$provider4","provider_type","ccPrograms","_p$provider5","nonCCPrograms","_p$provider6","nonCCReferrals","groupByCC","preventGroupingForSensitiveProvider","groupByFunded","fundedWithAuthorizationPrograms","_p$fee_schedule_progr","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","_p$fee_schedule_progr2","sensitiveAuthPrograms","nonSensitive","nonSensitiveAuthPrograms","sameFeeReferrals","sensitiveProgramReferrals","nonAuthReferrals","groupUnlistedProgramsToReferrals","referrals","unlistedReferrals","listedReferrals","forEach","includes","push","unlistedReferral","processReferral","foundReferral","_unlistedReferral$pro","_referral$programs$","services","service","status","toLowerCase","splice","updatedUnlistedReferrals","_unlistedReferral$pro2","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","groupOperations","operation"],"sources":["../../../src/pages/builder/buildGroupedReferrals.js"],"sourcesContent":["import { isEmpty, every, head, groupBy, flatMap } from 'lodash';\nimport {\n isUnlistedReferral,\n filterNetworks,\n programIsOffPlatform,\n programIsOnPlatform,\n separateSensitiveAndNonSensitiveAuthPrograms,\n createSameFeeReferrals,\n createSensitiveProgramReferrals,\n createNonAuthReferrals,\n} from './utils';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\n\n// Grouping Rules:\n// - On- and off-platform programs cannot be grouped\n// - Service must be the same\n// - Programs in coordination centers cannot be grouped\n// - Programs must be in the same network\n// - Programs in sensitive providers cannot be grouped\n// - Programs at the same provider cannot be grouped\n// - Users at sensitive providers cannot group programs\n// - Funded programs that require authroization with the same fee schedule program can be grouped\n// - Unlisted programs can only be grouped with programs in the same service and with off platform referrals\n\nconst withPreventUngroup = (fn) => (referral) => (\n referral.prevent_ungroup ? [referral] : fn(referral)\n);\n\nconst getReferralNetworkForProgram = (referral, program) => {\n const networkOptions = filterNetworks({ ...referral, programs: [program] });\n\n if (networkOptions.length === 1) {\n return head(networkOptions);\n }\n\n const existingNetwork = networkOptions.find((network) => network.id === referral.network?.id);\n return existingNetwork || null;\n};\n\nconst groupByNetworkImpl = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network and return the referral\n if (networks.length === 1 || isUnlistedReferral(referral)) {\n referral.network = head(networks);\n return [referral];\n }\n // if there is more than one possible network, divide the programs into multiple referrals:\n // referrals with programs in providers in a single network and\n // referrals with programs in providers in multiple networks\n // referrals with unlisted programs, don't have network\n const singleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length === 1);\n const multipleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length > 1);\n const noNetworkPrograms = referral.programs.filter(program => !program.provider?.networks?.length);\n // group single network programs by network id\n const programsGroupedByNetworkId = groupBy(singleNetworkPrograms, 'provider.networks[0].id');\n // create a grouped referral for programs with the same single network\n const sameNetworkReferrals = Object.values(programsGroupedByNetworkId).map(programs => ({\n ...referral,\n programs,\n network: head(programs[0].provider?.networks),\n }))\n // create separate referrals for each program with multiple networks\n const multipleNetworkReferrals = multipleNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n network: getReferralNetworkForProgram(referral, program),\n }))\n // create separate referrals for each program with no network\n const noNetworkReferrals = noNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n }))\n\n return [...multipleNetworkReferrals, ...sameNetworkReferrals, ...noNetworkReferrals];\n}\n\nconst groupByNetwork = withPreventUngroup(groupByNetworkImpl);\n\nconst groupByNetworkStatus = (referral) => {\n if (referral.prevent_ungroup) {\n return [referral];\n }\n // if every program is on-platform or every programs is off-platform, return the referral\n if (every(referral.programs.map(p => programIsOnPlatform(p))) ||\n every(referral.programs.map(p => programIsOffPlatform(p)))) {\n return [referral];\n }\n // divide programs into on- and off-platform referrals\n const inNetworkPrograms = referral.programs.filter(p => programIsOnPlatform(p));\n const OONPrograms = referral.programs.filter(p => programIsOffPlatform(p));\n\n return [\n ...inNetworkPrograms.length ? [{ ...referral, programs: inNetworkPrograms }] : [],\n ...OONPrograms.length ? [{ ...referral, programs: OONPrograms }] : []\n ];\n}\n\nconst groupBySensitivityImpl = (referral) => {\n // if every program is non-sensitive or the referral contains only one sensitive program, return referral\n if (every(referral.programs.map(p => !p?.provider?.sensitive)) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.sensitive)) {\n return [referral];\n }\n // create a new referral for each sensitive program\n const sensitivePrograms = referral.programs.filter(p => p?.provider?.sensitive).map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for non-sensitive programs\n const nonSensitivePrograms = referral.programs.filter(p => !p?.provider?.sensitive);\n const nonSensitiveReferrals = !isEmpty(nonSensitivePrograms) ? [{ ...referral, programs: nonSensitivePrograms }] : [];\n\n return [...sensitivePrograms, ...nonSensitiveReferrals];\n}\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst groupByCCImpl = (referral) => {\n // if no programs are in a coordination center or the referral contains only one program in a cc, return referral\n if (every(referral.programs.map(p => p?.provider?.provider_type !== 'coordination_center')) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.provider_type === 'coordination_center')) {\n return [referral];\n }\n // create a new referral for each program in a cc\n const ccPrograms = referral.programs.filter(p => p?.provider?.provider_type === 'coordination_center')\n .map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for programs not in a cc\n const nonCCPrograms = referral.programs.filter(p => p?.provider?.provider_type !== 'coordination_center');\n const nonCCReferrals = !isEmpty(nonCCPrograms) ? [{ ...referral, programs: nonCCPrograms }] : [];\n\n return [...ccPrograms, ...nonCCReferrals];\n}\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst groupByFunded = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n\n const fundedWithAuthorizationPrograms = referral.programs.filter(p => p.fee_schedule_program?.authorization_required);\n const fundedWithoutAuthorizationPrograms = referral.programs.filter(p => !p.fee_schedule_program?.authorization_required);\n\n const {\n sensitive: sensitiveAuthPrograms,\n nonSensitive: nonSensitiveAuthPrograms,\n } = separateSensitiveAndNonSensitiveAuthPrograms(fundedWithAuthorizationPrograms);\n\n const sameFeeReferrals = createSameFeeReferrals(referral, nonSensitiveAuthPrograms);\n const sensitiveProgramReferrals = createSensitiveProgramReferrals(referral, sensitiveAuthPrograms);\n const nonAuthReferrals = createNonAuthReferrals(referral, fundedWithoutAuthorizationPrograms);\n\n return [...nonAuthReferrals, ...sameFeeReferrals, ...sensitiveProgramReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const unlistedReferrals = [], listedReferrals = [];\n\n referrals.forEach(referral => {\n if (every(referral.programs, p => p.id.includes('unlisted')))\n unlistedReferrals.push(referral);\n else\n listedReferrals.push(referral);\n });\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n // Loop over the unlisted referrals, in case of a match, add the unlisted program to the referral \n // and remove it from the unlisted referral\n unlistedReferrals.forEach(unlistedReferral => {\n const processReferral = (referrals) => {\n // Find a referral with the same service and off-platform status\n const foundReferral = referrals.find(referral =>\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n );\n \n if (foundReferral) {\n // Add the unlisted program to the referral\n foundReferral.programs.push(unlistedReferral.programs[0]);\n // Remove the unlisted program from the referral, otherwise, it will be added to referrals multiple times\n unlistedReferral.programs.splice(0, 1);\n }\n };\n \n processReferral(listedReferrals);\n processReferral(unlistedReferrals);\n });\n\n // Remove referrals with no programs\n const updatedUnlistedReferrals = unlistedReferrals.filter(unlistedReferral => {\n if (unlistedReferral?.programs?.length > 0)\n return unlistedReferral;\n });\n\n return [...listedReferrals, ...updatedUnlistedReferrals];\n}\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n let groupedReferrals = newReferrals;\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n groupedReferrals = flatMap(groupedReferrals, preventGroupingForSensitiveProvider);\n } else {\n const groupOperations = [];\n\n groupOperations.push(groupByFunded, groupByNetwork, groupByNetworkStatus, groupBySensitivity, groupByCC);\n\n groupOperations.forEach(operation => {\n groupedReferrals = flatMap(groupedReferrals, operation);\n });\n\n groupedReferrals = groupUnlistedProgramsToReferrals(groupedReferrals);\n }\n\n return groupedReferrals;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unite-us/app-create-referral",
3
- "version": "0.15.103",
3
+ "version": "0.15.104",
4
4
  "main": "./dist/index.js",
5
5
  "files": [
6
6
  "dist/**"