cleanup unnecessary constants.

adding anthem sourcetypes.
This commit is contained in:
Jason Kulatunga 2022-11-08 19:45:05 -08:00
parent 0c480576a6
commit c79dc02a1d
13 changed files with 146 additions and 134 deletions

View File

@ -1,34 +1 @@
package pkg package pkg
// SourceType contains all the various medical, insurance, health care providers which Fasten can communicate with
type SourceType string
const (
SourceTypeManual SourceType = "manual"
SourceTypeAetna SourceType = "aetna"
SourceTypeAthena SourceType = "athena"
SourceTypeAnthem SourceType = "anthem"
SourceTypeCareEvolution SourceType = "careevolution"
SourceTypeCedarSinai SourceType = "cedarssinai"
SourceTypeCerner SourceType = "cerner"
SourceTypeCigna SourceType = "cigna"
SourceTypeCommonSpirit SourceType = "commonspirit"
SourceTypeDeltaDental SourceType = "deltadental"
SourceTypeDignityHealth SourceType = "dignityhealth"
SourceTypeEpic SourceType = "epic"
SourceTypeHealthIT SourceType = "healthit"
SourceTypeHCAHealthcare SourceType = "hcahealthcare"
SourceTypeHumana SourceType = "humana"
SourceTypeKaiser SourceType = "kaiser"
SourceTypeLogica SourceType = "logica"
SourceTypeMetlife SourceType = "metlife"
SourceTypeProvidence SourceType = "providence"
SourceTypeStanford SourceType = "stanford"
SourceTypeSutter SourceType = "sutter"
SourceTypeTrinity SourceType = "trinity"
SourceTypeUCSF SourceType = "ucsf"
SourceTypeUnitedHealthcare SourceType = "unitedhealthcare"
SourceTypeBlueButtonMedicare SourceType = "bluebutton"
SourceTypeVerity SourceType = "verity"
)

View File

@ -1,14 +0,0 @@
package models
import (
"github.com/fastenhealth/fastenhealth-onprem/backend/pkg"
)
type MetadataSource struct {
SourceType pkg.SourceType `json:"source_type"`
Display string `json:"display"`
Category []string `json:"category"`
Supported bool `json:"enabled"`
Confidential bool `json:"confidential"`
}

View File

@ -38,7 +38,7 @@
"webWorkerTsConfig": "tsconfig.worker.json" "webWorkerTsConfig": "tsconfig.worker.json"
}, },
"configurations": { "configurations": {
"production": { "prod": {
"fileReplacements": [ "fileReplacements": [
{ {
"replace": "src/environments/environment.ts", "replace": "src/environments/environment.ts",
@ -129,8 +129,8 @@
"browserTarget": "fastenhealth:build" "browserTarget": "fastenhealth:build"
}, },
"configurations": { "configurations": {
"production": { "prod": {
"browserTarget": "fastenhealth:build:production" "browserTarget": "fastenhealth:build:prod"
}, },
"sandbox": { "sandbox": {
"browserTarget": "fastenhealth:build:sandbox" "browserTarget": "fastenhealth:build:sandbox"
@ -185,8 +185,8 @@
"devServerTarget": "fastenhealth:serve" "devServerTarget": "fastenhealth:serve"
}, },
"configurations": { "configurations": {
"production": { "prod": {
"devServerTarget": "fastenhealth:serve:production" "devServerTarget": "fastenhealth:serve:prod"
} }
} }
} }

View File

@ -3,6 +3,7 @@
// The list of file replacements can be found in `angular.json`. // The list of file replacements can be found in `angular.json`.
export const environment = { export const environment = {
//javascript environment, not Fasten env.
production: false, production: false,
// is the application running in the cloud? (enables 3rd party IdP's and token based couchdb authentication) // is the application running in the cloud? (enables 3rd party IdP's and token based couchdb authentication)

View File

@ -1,38 +1,78 @@
import {SourceType} from '../models/database/source_types'; import {SourceType} from '../models/database/source_types';
import {Source} from '../models/database/source'; import {Source} from '../models/database/source';
import {IClient} from './interface'; import {IClient} from './interface';
import {HealthITClient} from './fhir/sandbox/healthit_client';
import {LogicaClient} from './fhir/sandbox/logica_client';
import {AthenaClient} from './fhir/sandbox/athena_client';
import {CareEvolutionClient} from './fhir/platforms/careevolution_client';
import {CernerClient} from './fhir/platforms/cerner_client';
import {EpicClient} from './fhir/platforms/epic_client';
import {AetnaClient} from './fhir/aetna_client'; import {AetnaClient} from './fhir/aetna_client';
import {BlueButtonClient} from './fhir/bluebutton_client'; import {BlueButtonClient} from './fhir/bluebutton_client';
import {CareEvolutionClient} from './fhir/careevolution_client';
import {CernerClient} from './fhir/cerner_client';
import {AthenaClient} from './fhir/athena_client';
import {CignaClient} from './fhir/cigna_client'; import {CignaClient} from './fhir/cigna_client';
import {EpicClient} from './fhir/epic_client';
import {HealthITClient} from './fhir/healthit_client';
import {LogicaClient} from './fhir/logica_client';
import {ClientConfig} from '../models/client/client-config'; import {ClientConfig} from '../models/client/client-config';
export function NewClient(sourceType: SourceType, source: Source, clientConfig: ClientConfig): IClient { export function NewClient(sourceType: SourceType, source: Source, clientConfig: ClientConfig): IClient {
switch(sourceType) { switch(sourceType) {
case SourceType.Aetna:
return new AetnaClient(source, clientConfig) //sandbox
case SourceType.Athena: case SourceType.Athena:
return new AthenaClient(source, clientConfig) return new AthenaClient(source, clientConfig)
case SourceType.BlueButtonMedicare:
return new BlueButtonClient(source, clientConfig)
case SourceType.CareEvolution:
return new CareEvolutionClient(source, clientConfig)
case SourceType.Cerner:
return new CernerClient(source, clientConfig)
case SourceType.Cigna:
return new CignaClient(source, clientConfig)
case SourceType.Epic:
return new EpicClient(source, clientConfig)
case SourceType.HealthIT: case SourceType.HealthIT:
return new HealthITClient(source, clientConfig) return new HealthITClient(source, clientConfig)
case SourceType.Logica: case SourceType.Logica:
return new LogicaClient(source, clientConfig ) return new LogicaClient(source, clientConfig )
//platforms
case SourceType.CareEvolution:
return new CareEvolutionClient(source, clientConfig)
case SourceType.Cerner:
return new CernerClient(source, clientConfig)
case SourceType.Epic:
return new EpicClient(source, clientConfig)
//providers
case SourceType.Aetna:
return new AetnaClient(source, clientConfig)
case SourceType.Amerigroup:
case SourceType.AmerigroupMedicaid:
case SourceType.Anthem:
case SourceType.AnthemBluecrossCA:
case SourceType.BluecrossBlueshieldKansasMedicare:
case SourceType.BluecrossBlueshieldKansas:
case SourceType.BluecrossBlueshieldNY:
case SourceType.BlueMedicareAdvantage:
case SourceType.ClearHealthAlliance:
case SourceType.DellChildrens:
case SourceType.EmpireBlue:
case SourceType.EmpireBlueMedicaid:
case SourceType.HealthyBlueLA:
case SourceType.HealthyBlueLAMedicaid:
case SourceType.HealthyBlueMO:
case SourceType.HealthyBlueMOMedicaid:
case SourceType.HealthyBlueNC:
case SourceType.HealthyBlueNCMedicaid:
case SourceType.HealthyBlueNE:
case SourceType.HealthyBlueSC:
case SourceType.HighmarkWesternNY:
case SourceType.SimplyHealthcareMedicaid:
case SourceType.SimplyHealthcareMedicare:
case SourceType.SummitCommunityCare:
case SourceType.Unicare:
case SourceType.UnicareMA:
case SourceType.UnicareMedicaid:
return new CareEvolutionClient(source, clientConfig)
case SourceType.Cigna:
return new CignaClient(source, clientConfig)
case SourceType.BlueButton:
return new BlueButtonClient(source, clientConfig)
// case SourceType.Manual: // case SourceType.Manual:
// return new ManualClient(source) // return new ManualClient(source)
default: default:

View File

@ -1,11 +0,0 @@
import {IClient} from '../interface';
import {FHIR401Client} from './base/fhir401_r4_client';
import {Source} from '../../models/database/source';
import {IDatabaseRepository} from '../../database/interface';
import {ClientConfig} from '../../models/client/client-config';
export class LogicaClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) {
super(source, clientConfig);
}
}

View File

@ -1,7 +1,7 @@
import {IClient} from '../interface'; import {IClient} from '../../interface';
import {FHIR401Client} from './base/fhir401_r4_client'; import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../models/database/source'; import {Source} from '../../../models/database/source';
import {ClientConfig} from '../../models/client/client-config'; import {ClientConfig} from '../../../models/client/client-config';
export class CareEvolutionClient extends FHIR401Client implements IClient { export class CareEvolutionClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) { constructor(source: Source, clientConfig: ClientConfig) {

View File

@ -1,9 +1,9 @@
import {IClient} from '../interface'; import {IClient} from '../../interface';
import {FHIR401Client} from './base/fhir401_r4_client'; import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../models/database/source'; import {Source} from '../../../models/database/source';
import {IDatabaseRepository} from '../../database/interface'; import {IDatabaseRepository} from '../../../database/interface';
import {UpsertSummary} from '../../models/fasten/upsert-summary'; import {UpsertSummary} from '../../../models/fasten/upsert-summary';
import {ClientConfig} from '../../models/client/client-config'; import {ClientConfig} from '../../../models/client/client-config';
export class CernerClient extends FHIR401Client implements IClient { export class CernerClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) { constructor(source: Source, clientConfig: ClientConfig) {

View File

@ -1,9 +1,9 @@
import {IClient} from '../interface'; import {IClient} from '../../interface';
import {FHIR401Client} from './base/fhir401_r4_client'; import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../models/database/source'; import {Source} from '../../../models/database/source';
import {IDatabaseRepository} from '../../database/interface'; import {IDatabaseRepository} from '../../../database/interface';
import {UpsertSummary} from '../../models/fasten/upsert-summary'; import {UpsertSummary} from '../../../models/fasten/upsert-summary';
import {ClientConfig} from '../../models/client/client-config'; import {ClientConfig} from '../../../models/client/client-config';
export class EpicClient extends FHIR401Client implements IClient { export class EpicClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) { constructor(source: Source, clientConfig: ClientConfig) {

View File

@ -1,9 +1,9 @@
import {IClient} from '../interface'; import {IClient} from '../../interface';
import {FHIR401Client} from './base/fhir401_r4_client'; import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../models/database/source'; import {Source} from '../../../models/database/source';
import {IDatabaseRepository} from '../../database/interface'; import {IDatabaseRepository} from '../../../database/interface';
import {UpsertSummary} from '../../models/fasten/upsert-summary'; import {UpsertSummary} from '../../../models/fasten/upsert-summary';
import {ClientConfig} from '../../models/client/client-config'; import {ClientConfig} from '../../../models/client/client-config';
export class AthenaClient extends FHIR401Client implements IClient { export class AthenaClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) { constructor(source: Source, clientConfig: ClientConfig) {

View File

@ -1,9 +1,9 @@
import {IClient} from '../interface'; import {IClient} from '../../interface';
import {FHIR401Client} from './base/fhir401_r4_client'; import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../models/database/source'; import {Source} from '../../../models/database/source';
import {IDatabaseRepository} from '../../database/interface'; import {IDatabaseRepository} from '../../../database/interface';
import {UpsertSummary} from '../../models/fasten/upsert-summary'; import {UpsertSummary} from '../../../models/fasten/upsert-summary';
import {ClientConfig} from '../../models/client/client-config'; import {ClientConfig} from '../../../models/client/client-config';
export class HealthITClient extends FHIR401Client implements IClient { export class HealthITClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) { constructor(source: Source, clientConfig: ClientConfig) {

View File

@ -0,0 +1,11 @@
import {IClient} from '../../interface';
import {FHIR401Client} from '../base/fhir401_r4_client';
import {Source} from '../../../models/database/source';
import {IDatabaseRepository} from '../../../database/interface';
import {ClientConfig} from '../../../models/client/client-config';
export class LogicaClient extends FHIR401Client implements IClient {
constructor(source: Source, clientConfig: ClientConfig) {
super(source, clientConfig);
}
}

View File

@ -3,29 +3,47 @@
export enum SourceType { export enum SourceType {
Manual = "manual", Manual = "manual",
Aetna = "aetna",
Athena = "athena", Athena = "athena",
Anthem = "anthem",
CareEvolution = "careevolution",
CedarSinai = "cedarssinai",
Cerner = "cerner",
Cigna = "cigna",
CommonSpirit = "commonspirit",
DeltaDental = "deltadental",
DignityHealth = "dignityhealth",
Epic = "epic",
HealthIT = "healthit", HealthIT = "healthit",
HCAHealthcare = "hcahealthcare", Logica = "logica",
//platforms
CareEvolution = "careevolution",
Cerner = "cerner",
Epic = "epic",
//providers
Aetna = "aetna",
Amerigroup = "amerigroup",
AmerigroupMedicaid = "amerigroupmedicaid",
Anthem = "anthem",
AnthemBluecrossCA = "anthembluecrossca",
BlueButton = "bluebutton",
BluecrossBlueshieldKansasMedicare = "bcbskansasmedicare",
BluecrossBlueshieldKansas = "bcbskansas",
BluecrossBlueshieldNY = "bcbsny",
BlueMedicareAdvantage = "bluemedicareadvantage",
ClearHealthAlliance = "clearhealthalliance",
Cigna = "cigna",
DellChildrens = "dellchildrens",
EmpireBlue = "empireblue",
EmpireBlueMedicaid = "empirebluemedicaid",
HealthyBlueLA = "healthybluela",
HealthyBlueLAMedicaid = "healthybluelamedicaid",
HealthyBlueMO = "healthybluemo",
HealthyBlueMOMedicaid = "healthybluemomedicaid",
HealthyBlueNC = "healthybluenc",
HealthyBlueNCMedicaid = "healthybluencmedicaid",
HealthyBlueNE = "healthybluene",
HealthyBlueSC = "healthybluesc",
HighmarkWesternNY = "highmarkwesternny",
SimplyHealthcareMedicaid = "simplyhealthcaremedicaid",
SimplyHealthcareMedicare = "simplyhealthcaremedicare",
SummitCommunityCare = "summitcommunitycare",
Unicare = "unicare",
UnicareMA = "unicarema",
UnicareMedicaid = "unicaremedicaid",
Humana = "humana", Humana = "humana",
Kaiser = "kaiser", Kaiser = "kaiser",
Logica = "logica",
Metlife = "metlife",
Providence = "providence",
Stanford = "stanford",
Sutter = "sutter",
Trinity = "trinity",
UCSF = "ucsf",
UnitedHealthcare = "unitedhealthcare", UnitedHealthcare = "unitedhealthcare",
BlueButtonMedicare = "bluebutton",
Verity = "verity",
} }