@tekkare/romulus 0.1.251 → 0.1.252
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.
- package/dist/module.json +1 -1
- package/layer/app/app.config.ts +6 -0
- package/layer/app/components/OipPubmedSummary.vue +223 -0
- package/layer/app/components/OipResourceDrawer.vue +331 -0
- package/layer/app/components/OipResourceDrawerLink.vue +40 -0
- package/layer/app/components/OipResourceField.vue +41 -0
- package/layer/app/components/OipResourceGenericCard.vue +54 -0
- package/layer/app/components/OipResourceSource.vue +50 -0
- package/layer/app/components/OipResourceTags.vue +65 -0
- package/layer/app/components/OipResourceView.vue +107 -0
- package/layer/app/components/oip-drugs/fiches/AssociationFiche.vue +775 -0
- package/layer/app/components/oip-drugs/fiches/BrandFiche.vue +1111 -0
- package/layer/app/components/oip-drugs/fiches/IndicationFiche.vue +182 -0
- package/layer/app/components/oip-drugs/fiches/JoFiche.vue +101 -0
- package/layer/app/components/oip-drugs/fiches/PndsFiche.vue +279 -0
- package/layer/app/components/oip-drugs/heart/JoCard.vue +314 -0
- package/layer/app/components/oip-drugs/heart/TextHighlight.vue +326 -0
- package/layer/app/components/oip-drugs/heart/ansm/BrandCard.vue +187 -0
- package/layer/app/components/oip-drugs/heart/ansm/CisDetail.vue +363 -0
- package/layer/app/components/oip-drugs/heart/ansm/CisTable.vue +167 -0
- package/layer/app/components/oip-drugs/heart/associations/NationalAssemblyCard.vue +373 -0
- package/layer/app/components/oip-drugs/heart/associations/NationalAssemblyFiche.vue +372 -0
- package/layer/app/components/oip-drugs/heart/associations/TranscriptionCard.vue +55 -0
- package/layer/app/components/oip-drugs/heart/elastic/SourceContainerElastic.vue +103 -0
- package/layer/app/components/oip-drugs/heart/france/BrandGroupCard.vue +450 -0
- package/layer/app/components/oip-drugs/heart/mitm/Card.vue +199 -0
- package/layer/app/components/oip-drugs/heart/mitm/Source.vue +23 -0
- package/layer/app/components/oip-drugs/heart/mitm/details/Overview.vue +381 -0
- package/layer/app/components/oip-drugs/heart/put/Card.vue +212 -0
- package/layer/app/components/oip-drugs/heart/results/AccesCard.vue +696 -0
- package/layer/app/components/oip-drugs/heart/results/AlertCard.vue +342 -0
- package/layer/app/components/oip-drugs/heart/results/AsmrCursor.vue +229 -0
- package/layer/app/components/oip-drugs/heart/results/EvalCard.vue +370 -0
- package/layer/app/components/oip-drugs/heart/results/IndicCard.vue +743 -0
- package/layer/app/components/oip-drugs/heart/results/MatchExplain.vue +243 -0
- package/layer/app/components/oip-drugs/heart/results/PrefRows.vue +105 -0
- package/layer/app/components/oip-drugs/heart/results/details/HasHistory.vue +487 -0
- package/layer/app/components/oip-drugs/heart/results/details/InternationalCountryCard.vue +461 -0
- package/layer/app/components/oip-drugs/heart/results/details/InternationalOverview.vue +200 -0
- package/layer/app/components/oip-drugs/heart/results/details/InternationalPriceDrawer.vue +647 -0
- package/layer/app/components/oip-drugs/heart/results/details/Monograph.vue +128 -0
- package/layer/app/components/oip-drugs/heart/results/details/OpinionDrawer.vue +535 -0
- package/layer/app/components/oip-drugs/heart/results/details/PresentationDrawer.vue +738 -0
- package/layer/app/components/oip-drugs/heart/results/details/Price.vue +227 -0
- package/layer/app/components/oip-drugs/heart/results/details/PriceOverview.vue +1261 -0
- package/layer/app/components/oip-drugs/heart/results/details/RecordDrawer.vue +494 -0
- package/layer/app/components/oip-drugs/heart/results/details/RecordList.vue +426 -0
- package/layer/app/components/oip-drugs/heart/results/les/Card.vue +340 -0
- package/layer/app/components/oip-drugs/heart/results/les/Drawer.vue +67 -0
- package/layer/app/components/oip-drugs/heart/results/les/IndicationDetail.vue +149 -0
- package/layer/app/components/oip-drugs/heart/results/les/Source.vue +20 -0
- package/layer/app/components/oip-drugs/heart/results/les/SourceTag.vue +39 -0
- package/layer/app/components/oip-drugs/heart/searchPage/DynamicSource.vue +29 -0
- package/layer/app/components/oip-drugs/medicam/market/Chart.vue +121 -0
- package/layer/app/components/oip-drugs/outpatient/ProductEvolution.vue +236 -0
- package/layer/app/components/oip-drugs/resources/Ansm.vue +75 -0
- package/layer/app/components/oip-drugs/resources/Association.vue +30 -0
- package/layer/app/components/oip-drugs/resources/Brand.vue +65 -0
- package/layer/app/components/oip-drugs/resources/Contribution.vue +216 -0
- package/layer/app/components/oip-drugs/resources/Hospital.vue +151 -0
- package/layer/app/components/oip-drugs/resources/Indication.vue +54 -0
- package/layer/app/components/oip-drugs/resources/Jo.vue +57 -0
- package/layer/app/components/oip-drugs/resources/Medicam.vue +140 -0
- package/layer/app/components/oip-drugs/resources/Mitm.vue +84 -0
- package/layer/app/components/oip-drugs/resources/NationalAssembly.vue +93 -0
- package/layer/app/components/oip-drugs/resources/Outpatient.vue +97 -0
- package/layer/app/components/oip-drugs/resources/Pnds.vue +24 -0
- package/layer/app/components/oip-drugs/resources/Price.vue +106 -0
- package/layer/app/components/oip-drugs/resources/Put.vue +143 -0
- package/layer/app/components/oip-science/appel-a-projet/Cards.vue +162 -0
- package/layer/app/components/oip-science/clinical-trials/Cards.vue +382 -0
- package/layer/app/components/oip-science/clinical-trials/CardsGlobal.vue +273 -0
- package/layer/app/components/oip-science/clinical-trials/LinkedList.vue +366 -0
- package/layer/app/components/oip-science/clinical-trials/PairBadge.vue +25 -0
- package/layer/app/components/oip-science/clinical-trials/PairBody.vue +182 -0
- package/layer/app/components/oip-science/clinical-trials/SitesDrawer.vue +95 -0
- package/layer/app/components/oip-science/common/Form.vue +73 -0
- package/layer/app/components/oip-science/common/MatchAvgTag.vue +283 -0
- package/layer/app/components/oip-science/common/NoData.vue +16 -0
- package/layer/app/components/oip-science/common/ScoreBadge.vue +35 -0
- package/layer/app/components/oip-science/common/Source.vue +31 -0
- package/layer/app/components/oip-science/common/TableTags.vue +279 -0
- package/layer/app/components/oip-science/common/Timeline.vue +104 -0
- package/layer/app/components/oip-science/common/ToolTips.vue +89 -0
- package/layer/app/components/oip-science/cross/publicationPubmed.vue +484 -0
- package/layer/app/components/oip-science/crossData/CrossDataLocations.vue +71 -0
- package/layer/app/components/oip-science/ctgov/Investigators.vue +148 -0
- package/layer/app/components/oip-science/ctgov/Locations.vue +102 -0
- package/layer/app/components/oip-science/ctgov/Publications.vue +52 -0
- package/layer/app/components/oip-science/ctgov/Sponsors.vue +66 -0
- package/layer/app/components/oip-science/ctgov/StudyDescription.vue +1136 -0
- package/layer/app/components/oip-science/ctgov-centers/ClinicalTrials.vue +40 -0
- package/layer/app/components/oip-science/ctgov-centers/Publications.vue +50 -0
- package/layer/app/components/oip-science/ctgov-investigators/ClinicalTrials.vue +43 -0
- package/layer/app/components/oip-science/ctgov-investigators/Informations.vue +171 -0
- package/layer/app/components/oip-science/ctgov-investigators/Publications.vue +44 -0
- package/layer/app/components/oip-science/elastic/DateRangeFilter.vue +209 -0
- package/layer/app/components/oip-science/elastic/Filter.vue +719 -0
- package/layer/app/components/oip-science/elastic/MatchExplain.vue +152 -0
- package/layer/app/components/oip-science/establishments/Cards.vue +183 -0
- package/layer/app/components/oip-science/establishments/ClinicalTrials.vue +62 -0
- package/layer/app/components/oip-science/establishments/Hcps.vue +227 -0
- package/layer/app/components/oip-science/establishments/Informations.vue +263 -0
- package/layer/app/components/oip-science/establishments/LinkedList.vue +153 -0
- package/layer/app/components/oip-science/establishments/MatchedLabels.vue +194 -0
- package/layer/app/components/oip-science/establishments/PublicFinance.vue +62 -0
- package/layer/app/components/oip-science/euct/Investigators.vue +125 -0
- package/layer/app/components/oip-science/euct/Locations.vue +102 -0
- package/layer/app/components/oip-science/euct/Products.vue +101 -0
- package/layer/app/components/oip-science/euct/Publications.vue +89 -0
- package/layer/app/components/oip-science/euct/Sponsors.vue +86 -0
- package/layer/app/components/oip-science/euct/StudyDescription.vue +1075 -0
- package/layer/app/components/oip-science/euct-centers/ClinicalTrials.vue +40 -0
- package/layer/app/components/oip-science/euct-centers/Publications.vue +55 -0
- package/layer/app/components/oip-science/euct-investigators/ClinicalTrials.vue +41 -0
- package/layer/app/components/oip-science/euct-investigators/Informations.vue +171 -0
- package/layer/app/components/oip-science/euct-investigators/Publications.vue +51 -0
- package/layer/app/components/oip-science/hcps/AppelsAProjet.vue +62 -0
- package/layer/app/components/oip-science/hcps/Cards.vue +237 -0
- package/layer/app/components/oip-science/hcps/ClinicalTrials.vue +78 -0
- package/layer/app/components/oip-science/hcps/Informations.vue +296 -0
- package/layer/app/components/oip-science/hcps/LinkedList.vue +153 -0
- package/layer/app/components/oip-science/hcps/MatchedLabels.vue +207 -0
- package/layer/app/components/oip-science/hcps/Pubmed.vue +128 -0
- package/layer/app/components/oip-science/local/SliderTabs.vue +99 -0
- package/layer/app/components/oip-science/local/SliderTabsFull.vue +135 -0
- package/layer/app/components/oip-science/pubmed/Authors.vue +128 -0
- package/layer/app/components/oip-science/pubmed/Cards.vue +417 -0
- package/layer/app/components/oip-science/pubmed/ClinicalTrials.vue +71 -0
- package/layer/app/components/oip-science/resources/Phrc.vue +39 -0
- package/layer/app/composables/useOipChapterScroll.ts +43 -0
- package/layer/app/composables/useOipResourceHooks.ts +27 -0
- package/layer/app/composables/useOipResourceNav.ts +66 -0
- package/layer/app/composables/useOipResourceViews.ts +117 -0
- package/layer/app/composables/useOipResources.ts +83 -0
- package/layer/app/oip-drugs/PORTING.md +120 -0
- package/layer/app/oip-drugs/composables/useAssociationDetail.ts +220 -0
- package/layer/app/oip-drugs/composables/useAssociationExport.ts +63 -0
- package/layer/app/oip-drugs/composables/useAssociationLookup.ts +105 -0
- package/layer/app/oip-drugs/composables/useCardPrefOptions.ts +201 -0
- package/layer/app/oip-drugs/composables/useCurrency.ts +121 -0
- package/layer/app/oip-drugs/composables/useDirectusSources.ts +224 -0
- package/layer/app/oip-drugs/composables/useHeartBrandMatches.ts +112 -0
- package/layer/app/oip-drugs/composables/useHeartDetailSearches.ts +479 -0
- package/layer/app/oip-drugs/composables/useHeartIntlApprovals.ts +661 -0
- package/layer/app/oip-drugs/composables/useHeartLesIndication.ts +168 -0
- package/layer/app/oip-drugs/composables/useHeartMatchExplain.ts +231 -0
- package/layer/app/oip-drugs/composables/useHeartReports.ts +239 -0
- package/layer/app/oip-drugs/composables/useHeartSearchFields.ts +233 -0
- package/layer/app/oip-drugs/composables/useMergeByKey.ts +23 -0
- package/layer/app/oip-drugs/composables/useOipDrugsElastic.ts +621 -0
- package/layer/app/oip-drugs/composables/usePageEmpty.ts +58 -0
- package/layer/app/oip-drugs/composables/v-useSalesSource.ts +64 -0
- package/layer/app/oip-drugs/drugs.css +500 -0
- package/layer/app/oip-drugs/esIndices.ts +322 -0
- package/layer/app/oip-drugs/kinds.ts +264 -0
- package/layer/app/oip-drugs/locales/en.json +1571 -0
- package/layer/app/oip-drugs/locales/fr.json +1571 -0
- package/layer/app/oip-drugs/monographs/blincyto-has.vue +289 -0
- package/layer/app/oip-drugs/monographs/darzalex-has.vue +276 -0
- package/layer/app/oip-drugs/monographs/dupixent-has.vue +216 -0
- package/layer/app/oip-drugs/monographs/enhertu-has.vue +280 -0
- package/layer/app/oip-drugs/monographs/has-sein-2023.vue +1649 -0
- package/layer/app/oip-drugs/monographs/ibrance-has.vue +277 -0
- package/layer/app/oip-drugs/monographs/imfinzi-has.vue +293 -0
- package/layer/app/oip-drugs/monographs/keytruda-has.vue +334 -0
- package/layer/app/oip-drugs/monographs/kisqali-has.vue +201 -0
- package/layer/app/oip-drugs/monographs/opdivo-has.vue +231 -0
- package/layer/app/oip-drugs/monographs/ozempic-has.vue +186 -0
- package/layer/app/oip-drugs/monographs/tecentriq-has.vue +312 -0
- package/layer/app/oip-drugs/monographs/yescarta-has.vue +272 -0
- package/layer/app/oip-drugs/types/elastic.ts +113 -0
- package/layer/app/oip-drugs/types/es/agencies.ts +152 -0
- package/layer/app/oip-drugs/types/es/directory.ts +54 -0
- package/layer/app/oip-drugs/types/es/docByIndex.ts +151 -0
- package/layer/app/oip-drugs/types/es/openmedic.ts +67 -0
- package/layer/app/oip-drugs/types/es/outpatient.ts +71 -0
- package/layer/app/oip-drugs/types/es/portal.ts +130 -0
- package/layer/app/oip-drugs/types/es/retail.ts +107 -0
- package/layer/app/oip-drugs/types/es/statistics.ts +29 -0
- package/layer/app/oip-drugs/types/heart/CurrencyRate.ts +16 -0
- package/layer/app/oip-drugs/types/heart/ansm.ts +106 -0
- package/layer/app/oip-drugs/types/heart/tag.ts +29 -0
- package/layer/app/oip-drugs/utils/associationFields.ts +118 -0
- package/layer/app/oip-drugs/utils/contributions.ts +36 -0
- package/layer/app/oip-drugs/utils/countryMapping.ts +387 -0
- package/layer/app/oip-drugs/utils/esHighlight.ts +21 -0
- package/layer/app/oip-drugs/utils/exportSheets.ts +57 -0
- package/layer/app/oip-drugs/utils/heartIntlPrice.ts +228 -0
- package/layer/app/oip-drugs/utils/heartStyleAndFormat.ts +262 -0
- package/layer/app/oip-drugs/utils/heartStyleAnsm.ts +71 -0
- package/layer/app/oip-drugs/utils/latestDate.ts +31 -0
- package/layer/app/oip-drugs/utils/p-heartCardTags.ts +53 -0
- package/layer/app/oip-drugs/utils/priceExport.ts +269 -0
- package/layer/app/oip-drugs/utils/q-hasRatings.ts +43 -0
- package/layer/app/oip-drugs/utils/s-openCard.ts +20 -0
- package/layer/app/oip-drugs/utils/sourceUuids.ts +155 -0
- package/layer/app/oip-drugs/utils/styleAndFormat.ts +40 -0
- package/layer/app/oip-drugs/utils/v-salesSeries.ts +156 -0
- package/layer/app/oip-drugs/utils/v-scopeTags.ts +23 -0
- package/layer/app/oip-science/PORTING.md +93 -0
- package/layer/app/oip-science/assets/smartSelection.json +428 -0
- package/layer/app/oip-science/composables/useAuthorMatching.ts +342 -0
- package/layer/app/oip-science/composables/useCTCenter.ts +107 -0
- package/layer/app/oip-science/composables/useCTInvestigators.ts +107 -0
- package/layer/app/oip-science/composables/useEstablishmentCrossData.ts +139 -0
- package/layer/app/oip-science/composables/useEstablishmentMatching.ts +176 -0
- package/layer/app/oip-science/composables/useEuct.ts +418 -0
- package/layer/app/oip-science/composables/useEuctCenter.ts +107 -0
- package/layer/app/oip-science/composables/useEuctInvestigators.ts +107 -0
- package/layer/app/oip-science/composables/useGlobalClinicalTrials.ts +624 -0
- package/layer/app/oip-science/composables/useLinkedTrials.ts +83 -0
- package/layer/app/oip-science/composables/useOipElastic.ts +658 -0
- package/layer/app/oip-science/composables/useOipSearchExplain.ts +166 -0
- package/layer/app/oip-science/composables/usePubmed.ts +487 -0
- package/layer/app/oip-science/composables/useSearchFields.ts +153 -0
- package/layer/app/oip-science/indexConfig.json +794 -0
- package/layer/app/oip-science/locales/en.json +483 -0
- package/layer/app/oip-science/locales/fr.json +483 -0
- package/layer/app/oip-science/science.css +1182 -0
- package/layer/app/oip-science/utils/a-openCard.ts +23 -0
- package/layer/app/oip-science/utils/b-openCard.ts +35 -0
- package/layer/app/oip-science/utils/c-filterContext.ts +81 -0
- package/layer/app/oip-science/utils/f-types.ts +241 -0
- package/layer/app/oip-science/utils/frDiseaseTerms.ts +269 -0
- package/layer/app/oip-science/utils/matchMethod.ts +53 -0
- package/layer/app/oip-science/utils/sliderTabs.ts +13 -0
- package/layer/app/oip-science/utils/sources.ts +15 -0
- package/layer/app/oip-science/utils/styleAndFormat.ts +608 -0
- package/layer/app/oip-science/utils/toPresets.ts +7 -0
- package/layer/app/oip-science/utils/valueTable.ts +126 -0
- package/layer/app/plugins/oip-science-i18n.ts +17 -0
- package/layer/app/utils/oipFicheRoutes.ts +118 -0
- package/layer/app/utils/oipResources.ts +440 -0
- package/layer/nuxt.config.ts +22 -2
- package/layer/public/reports/blincyto-has.html +292 -0
- package/layer/public/reports/blincyto-has.pdf +0 -0
- package/layer/public/reports/darzalex-has.html +279 -0
- package/layer/public/reports/darzalex-has.pdf +0 -0
- package/layer/public/reports/dupixent-has.html +217 -0
- package/layer/public/reports/dupixent-has.pdf +0 -0
- package/layer/public/reports/enhertu-has.html +283 -0
- package/layer/public/reports/enhertu-has.pdf +0 -0
- package/layer/public/reports/has-sein-2023.html +1639 -0
- package/layer/public/reports/ibrance-has.html +280 -0
- package/layer/public/reports/ibrance-has.pdf +0 -0
- package/layer/public/reports/imfinzi-has.html +297 -0
- package/layer/public/reports/imfinzi-has.pdf +0 -0
- package/layer/public/reports/keytruda-has.html +337 -0
- package/layer/public/reports/keytruda-has.pdf +0 -0
- package/layer/public/reports/kisqali-has.html +202 -0
- package/layer/public/reports/kisqali-has.pdf +0 -0
- package/layer/public/reports/opdivo-has.html +232 -0
- package/layer/public/reports/opdivo-has.pdf +0 -0
- package/layer/public/reports/ozempic-has.html +188 -0
- package/layer/public/reports/ozempic-has.pdf +0 -0
- package/layer/public/reports/tecentriq-has.html +315 -0
- package/layer/public/reports/tecentriq-has.pdf +0 -0
- package/layer/public/reports/yescarta-has.html +275 -0
- package/layer/public/reports/yescarta-has.pdf +0 -0
- package/layer/server/api/oip/es.post.ts +99 -0
- package/layer/server/api/oip/pdf.get.ts +70 -0
- package/layer/server/api/oip/reports.get.ts +98 -0
- package/layer/server/api/oip/resource-types.get.ts +22 -0
- package/package.json +1 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Le document que rend chaque index.
|
|
3
|
+
*
|
|
4
|
+
* C'est cette table qui relie le catalogue aux types de documents : les
|
|
5
|
+
* composables ES s'en servent pour deduire la forme de `_source` a partir de
|
|
6
|
+
* l'index passe en argument, sans que l'appelant ait a l'annoter. Un index
|
|
7
|
+
* absent de la table rend `EsUnknownDoc` : le code continue de compiler, il
|
|
8
|
+
* n'a simplement pas encore de type.
|
|
9
|
+
*/
|
|
10
|
+
import type { EsUnknownDoc } from "../elastic";
|
|
11
|
+
import { ES_INDEX, type EsIndexName } from "../../esIndices";
|
|
12
|
+
import type { BrandDirectoryDoc, DrugDirectoryDoc } from "./directory";
|
|
13
|
+
import type { DictionaryDoc, OpenmedicDoc } from "./openmedic";
|
|
14
|
+
import type { OutpatientDoc } from "./outpatient";
|
|
15
|
+
import type {
|
|
16
|
+
MedicamForecastDoc,
|
|
17
|
+
MedicamMonthlyDoc,
|
|
18
|
+
MedicamRollingDoc,
|
|
19
|
+
} from "./retail";
|
|
20
|
+
import type { DrugStatisticsDoc } from "./statistics";
|
|
21
|
+
import type { OneAnsmResult } from "../heart/ansm";
|
|
22
|
+
import type {
|
|
23
|
+
HasBrandDoc,
|
|
24
|
+
HasIndicationDoc,
|
|
25
|
+
HasPutDoc,
|
|
26
|
+
MitmDoc,
|
|
27
|
+
PndsDoc,
|
|
28
|
+
} from "./agencies";
|
|
29
|
+
import type {
|
|
30
|
+
CurrencyRateSource,
|
|
31
|
+
DrugApprovalDoc,
|
|
32
|
+
DrugCardDoc,
|
|
33
|
+
DrugCardPriceJoDoc,
|
|
34
|
+
JcaApprovalDoc,
|
|
35
|
+
OrphanDesignationDoc,
|
|
36
|
+
PriceTrackerDoc,
|
|
37
|
+
ProviderDoc,
|
|
38
|
+
} from "./portal";
|
|
39
|
+
|
|
40
|
+
export interface EsDocByIndex {
|
|
41
|
+
// Repertoires et dictionnaires
|
|
42
|
+
[ES_INDEX.BRAND_DIRECTORY]: BrandDirectoryDoc;
|
|
43
|
+
[ES_INDEX.DRUG_DIRECTORY]: DrugDirectoryDoc;
|
|
44
|
+
[ES_INDEX.AGE_DICTIONARY]: DictionaryDoc;
|
|
45
|
+
[ES_INDEX.GENDER_DICTIONARY]: DictionaryDoc;
|
|
46
|
+
[ES_INDEX.REGION_DICTIONARY]: DictionaryDoc;
|
|
47
|
+
[ES_INDEX.SPECIALTY_DICTIONARY]: DictionaryDoc;
|
|
48
|
+
|
|
49
|
+
// Ville, Medic'AM
|
|
50
|
+
[ES_INDEX.RETAIL_MONTHLY_ATC1]: MedicamMonthlyDoc;
|
|
51
|
+
[ES_INDEX.RETAIL_MONTHLY_ATC2]: MedicamMonthlyDoc;
|
|
52
|
+
[ES_INDEX.RETAIL_MONTHLY_ATC3]: MedicamMonthlyDoc;
|
|
53
|
+
[ES_INDEX.RETAIL_MONTHLY_ATC4]: MedicamMonthlyDoc;
|
|
54
|
+
[ES_INDEX.RETAIL_MONTHLY_ATC5]: MedicamMonthlyDoc;
|
|
55
|
+
[ES_INDEX.RETAIL_MONTHLY_BRAND]: MedicamMonthlyDoc;
|
|
56
|
+
[ES_INDEX.RETAIL_MONTHLY_CIP13]: MedicamMonthlyDoc;
|
|
57
|
+
[ES_INDEX.RETAIL_MONTHLY_COMPANY]: MedicamMonthlyDoc;
|
|
58
|
+
[ES_INDEX.RETAIL_ROLLING_ATC1]: MedicamRollingDoc;
|
|
59
|
+
[ES_INDEX.RETAIL_ROLLING_ATC2]: MedicamRollingDoc;
|
|
60
|
+
[ES_INDEX.RETAIL_ROLLING_ATC3]: MedicamRollingDoc;
|
|
61
|
+
[ES_INDEX.RETAIL_ROLLING_ATC4]: MedicamRollingDoc;
|
|
62
|
+
[ES_INDEX.RETAIL_ROLLING_ATC5]: MedicamRollingDoc;
|
|
63
|
+
[ES_INDEX.RETAIL_ROLLING_BRAND]: MedicamRollingDoc;
|
|
64
|
+
[ES_INDEX.RETAIL_ROLLING_CIP13]: MedicamRollingDoc;
|
|
65
|
+
[ES_INDEX.RETAIL_ROLLING_COMPANY]: MedicamRollingDoc;
|
|
66
|
+
[ES_INDEX.HW_FORECAST_ATC1]: MedicamForecastDoc;
|
|
67
|
+
[ES_INDEX.HW_FORECAST_ATC2]: MedicamForecastDoc;
|
|
68
|
+
[ES_INDEX.HW_FORECAST_ATC3]: MedicamForecastDoc;
|
|
69
|
+
[ES_INDEX.HW_FORECAST_ATC4]: MedicamForecastDoc;
|
|
70
|
+
[ES_INDEX.HW_FORECAST_ATC5]: MedicamForecastDoc;
|
|
71
|
+
[ES_INDEX.HW_FORECAST_BRAND]: MedicamForecastDoc;
|
|
72
|
+
[ES_INDEX.HW_FORECAST_CIP13]: MedicamForecastDoc;
|
|
73
|
+
[ES_INDEX.HW_FORECAST_COMPANY]: MedicamForecastDoc;
|
|
74
|
+
[ES_INDEX.ETS_FORECAST_ATC1]: MedicamForecastDoc;
|
|
75
|
+
[ES_INDEX.ETS_FORECAST_ATC2]: MedicamForecastDoc;
|
|
76
|
+
[ES_INDEX.ETS_FORECAST_ATC3]: MedicamForecastDoc;
|
|
77
|
+
[ES_INDEX.ETS_FORECAST_ATC4]: MedicamForecastDoc;
|
|
78
|
+
[ES_INDEX.ETS_FORECAST_ATC5]: MedicamForecastDoc;
|
|
79
|
+
[ES_INDEX.ETS_FORECAST_BRAND]: MedicamForecastDoc;
|
|
80
|
+
[ES_INDEX.ETS_FORECAST_CIP13]: MedicamForecastDoc;
|
|
81
|
+
[ES_INDEX.ETS_FORECAST_COMPANY]: MedicamForecastDoc;
|
|
82
|
+
|
|
83
|
+
// Ville, Open Medic
|
|
84
|
+
[ES_INDEX.RETAIL_ANNUAL_UNSPECIFIED]: OpenmedicDoc;
|
|
85
|
+
[ES_INDEX.RETAIL_ANNUAL_AGE]: OpenmedicDoc;
|
|
86
|
+
[ES_INDEX.RETAIL_ANNUAL_GENDER]: OpenmedicDoc;
|
|
87
|
+
[ES_INDEX.RETAIL_ANNUAL_REGION]: OpenmedicDoc;
|
|
88
|
+
[ES_INDEX.RETAIL_ANNUAL_SPECIALTY]: OpenmedicDoc;
|
|
89
|
+
[ES_INDEX.RETAIL_ANNUAL_AGE_GENDER]: OpenmedicDoc;
|
|
90
|
+
[ES_INDEX.RETAIL_ANNUAL_AGE_REGION]: OpenmedicDoc;
|
|
91
|
+
[ES_INDEX.RETAIL_ANNUAL_AGE_SPECIALTY]: OpenmedicDoc;
|
|
92
|
+
[ES_INDEX.RETAIL_ANNUAL_AGE_GENDER_REGION]: OpenmedicDoc;
|
|
93
|
+
[ES_INDEX.RETAIL_ANNUAL_GENDER_REGION]: OpenmedicDoc;
|
|
94
|
+
[ES_INDEX.RETAIL_ANNUAL_GENDER_SPECIALTY]: OpenmedicDoc;
|
|
95
|
+
[ES_INDEX.RETAIL_ANNUAL_REGION_SPECIALTY]: OpenmedicDoc;
|
|
96
|
+
|
|
97
|
+
// Retrocession hospitaliere
|
|
98
|
+
[ES_INDEX.OUTPATIENT_ATC1]: OutpatientDoc;
|
|
99
|
+
[ES_INDEX.OUTPATIENT_ATC2]: OutpatientDoc;
|
|
100
|
+
[ES_INDEX.OUTPATIENT_ATC3]: OutpatientDoc;
|
|
101
|
+
[ES_INDEX.OUTPATIENT_ATC4]: OutpatientDoc;
|
|
102
|
+
[ES_INDEX.OUTPATIENT_ATC5]: OutpatientDoc;
|
|
103
|
+
[ES_INDEX.OUTPATIENT_BRAND]: OutpatientDoc;
|
|
104
|
+
[ES_INDEX.OUTPATIENT_CIP13]: OutpatientDoc;
|
|
105
|
+
[ES_INDEX.OUTPATIENT_OWNER]: OutpatientDoc;
|
|
106
|
+
[ES_INDEX.OUTPATIENT_HOSPITAL]: OutpatientDoc;
|
|
107
|
+
[ES_INDEX.OUTPATIENT_GHT]: OutpatientDoc;
|
|
108
|
+
|
|
109
|
+
// Analyses agregees
|
|
110
|
+
[ES_INDEX.HOSPITAL_ANNUAL_SUS]: DrugStatisticsDoc;
|
|
111
|
+
[ES_INDEX.HOSPITAL_ANNUAL_RETROCESSION]: DrugStatisticsDoc;
|
|
112
|
+
[ES_INDEX.STATISTICS_COMPANY]: DrugStatisticsDoc;
|
|
113
|
+
[ES_INDEX.STATISTICS_PORTFOLIO]: DrugStatisticsDoc;
|
|
114
|
+
[ES_INDEX.STATISTICS_RETAIL_MONTHLY]: DrugStatisticsDoc;
|
|
115
|
+
[ES_INDEX.STATISTICS_RETAIL_ROLLING]: DrugStatisticsDoc;
|
|
116
|
+
|
|
117
|
+
// Agences et avis
|
|
118
|
+
[ES_INDEX.CIS_ANSM]: OneAnsmResult;
|
|
119
|
+
[ES_INDEX.MITM_BDPM]: MitmDoc;
|
|
120
|
+
[ES_INDEX.BRAND_HAS]: HasBrandDoc;
|
|
121
|
+
[ES_INDEX.PUT_HAS]: HasPutDoc;
|
|
122
|
+
[ES_INDEX.INDICATION_SEARCH_HAS]: HasIndicationDoc;
|
|
123
|
+
[ES_INDEX.PNDS]: PndsDoc;
|
|
124
|
+
|
|
125
|
+
// Portail
|
|
126
|
+
[ES_INDEX.DRUG_CARDS]: DrugCardDoc;
|
|
127
|
+
[ES_INDEX.DRUG_CARDS_PRICE_JO]: DrugCardPriceJoDoc;
|
|
128
|
+
[ES_INDEX.CURRENCY_RATE]: CurrencyRateSource;
|
|
129
|
+
[ES_INDEX.DRUG_APPROVALS]: DrugApprovalDoc;
|
|
130
|
+
[ES_INDEX.EU_EMA_JCA_DRUG_APPROVALS]: JcaApprovalDoc;
|
|
131
|
+
[ES_INDEX.ORPHAN_DESIGNATION_EMA]: OrphanDesignationDoc;
|
|
132
|
+
[ES_INDEX.ORPHAN_DESIGNATION_FDA]: OrphanDesignationDoc;
|
|
133
|
+
[ES_INDEX.WW_PRICE_TRACKER]: PriceTrackerDoc;
|
|
134
|
+
[ES_INDEX.PROVIDER]: ProviderDoc;
|
|
135
|
+
|
|
136
|
+
// Essais cliniques : pas encore de type dedie.
|
|
137
|
+
[ES_INDEX.TRIAL_NCT]: EsUnknownDoc;
|
|
138
|
+
[ES_INDEX.TRIAL_EUCT]: EsUnknownDoc;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Document d'un index, ou `EsUnknownDoc` si l'index n'est pas dans la table.
|
|
143
|
+
* Distribue sur les unions : un composant dont l'index varie avec le niveau
|
|
144
|
+
* choisi recoit l'union des documents de sa famille, qui se reduit a un seul
|
|
145
|
+
* type quand la famille partage un schema.
|
|
146
|
+
*/
|
|
147
|
+
export type EsDocFor<TIndex> = TIndex extends keyof EsDocByIndex
|
|
148
|
+
? EsDocByIndex[TIndex]
|
|
149
|
+
: TIndex extends EsIndexName
|
|
150
|
+
? EsUnknownDoc
|
|
151
|
+
: EsUnknownDoc;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documents des index ville Open Medic (annuels) et de leurs dictionnaires.
|
|
3
|
+
*
|
|
4
|
+
* Un index par croisement : sans croisement (`unspecified`), par age, par
|
|
5
|
+
* sexe, par region, par specialite du prescripteur, et les combinaisons. Le
|
|
6
|
+
* document porte les colonnes du croisement qui le concerne, les autres
|
|
7
|
+
* restent absentes, d'ou des champs optionnels.
|
|
8
|
+
*
|
|
9
|
+
* Les mesures sont suffixees par l'annee de la periode couverte (`_1` a `_7`,
|
|
10
|
+
* de la plus recente a la plus ancienne).
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Rang de l'annee dans la serie, `_1` etant la plus recente. */
|
|
14
|
+
export type OpenmedicYear = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
15
|
+
|
|
16
|
+
/** Mesures annuelles, une colonne par annee de la serie. */
|
|
17
|
+
export type OpenmedicMeasureFields = {
|
|
18
|
+
[
|
|
19
|
+
K in
|
|
20
|
+
| `unit_${OpenmedicYear}`
|
|
21
|
+
| `average_unit_${OpenmedicYear}`
|
|
22
|
+
| `bse_${OpenmedicYear}`
|
|
23
|
+
| `nbc_${OpenmedicYear}`
|
|
24
|
+
| `prevalence_nbc_${OpenmedicYear}`
|
|
25
|
+
| `reimbursement_rate_${OpenmedicYear}`
|
|
26
|
+
]?: number;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export interface OpenmedicDoc extends OpenmedicMeasureFields {
|
|
30
|
+
code: string;
|
|
31
|
+
code_label: string;
|
|
32
|
+
brand?: string;
|
|
33
|
+
owner_regroup?: string;
|
|
34
|
+
cip13_code?: string;
|
|
35
|
+
atc1_code?: string;
|
|
36
|
+
atc2_code?: string;
|
|
37
|
+
atc3_code?: string;
|
|
38
|
+
atc4_code?: string;
|
|
39
|
+
atc5_code?: string;
|
|
40
|
+
/** Niveau d'agregation de la ligne, filtre en `level.keyword`. */
|
|
41
|
+
level?: string;
|
|
42
|
+
period?: string;
|
|
43
|
+
|
|
44
|
+
// Colonnes du croisement, presentes selon l'index interroge.
|
|
45
|
+
age_code?: string;
|
|
46
|
+
gender_code?: string;
|
|
47
|
+
region_code?: string;
|
|
48
|
+
region_label?: string;
|
|
49
|
+
specialty_code?: string;
|
|
50
|
+
specialty_french_label?: string;
|
|
51
|
+
specialty_english_label?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Document d'un dictionnaire de croisement (age, sexe, region, specialite). */
|
|
55
|
+
export interface DictionaryDoc {
|
|
56
|
+
age_code?: string;
|
|
57
|
+
age_french_label?: string;
|
|
58
|
+
age_english_label?: string;
|
|
59
|
+
gender_code?: string;
|
|
60
|
+
gender_french_label?: string;
|
|
61
|
+
gender_english_label?: string;
|
|
62
|
+
region_code?: string;
|
|
63
|
+
region_label?: string;
|
|
64
|
+
specialty_code?: string;
|
|
65
|
+
specialty_french_label?: string;
|
|
66
|
+
specialty_english_label?: string;
|
|
67
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documents des index retrocession hospitaliere (SNIIRAM).
|
|
3
|
+
*
|
|
4
|
+
* Les mesures sont suffixees par la periode relative : `_p0` est la periode
|
|
5
|
+
* la plus recente, `_p4` la plus ancienne. Les colonnes `hospital_total_*`
|
|
6
|
+
* portent le total de l'etablissement, a cote de la valeur de la ligne.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/** Periode relative d'une mesure, `p0` etant la plus recente. */
|
|
10
|
+
export type OutpatientPeriod = "p0" | "p1" | "p2" | "p3" | "p4";
|
|
11
|
+
|
|
12
|
+
/** Mesures de la ligne. */
|
|
13
|
+
export type OutpatientMeasure =
|
|
14
|
+
"unit_reimbursed" | "amount_reimbursed" | "value_public_price";
|
|
15
|
+
|
|
16
|
+
export type OutpatientMeasureFields = {
|
|
17
|
+
[
|
|
18
|
+
K in
|
|
19
|
+
| `${OutpatientMeasure}_${OutpatientPeriod}`
|
|
20
|
+
| `hospital_total_${OutpatientMeasure}_${OutpatientPeriod}`
|
|
21
|
+
]?: number;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Etablissement porteur de la ligne. */
|
|
25
|
+
export interface OutpatientHospitalFields {
|
|
26
|
+
hco_code_type?: string;
|
|
27
|
+
hco_ej_code?: string;
|
|
28
|
+
hco_ej_label?: string;
|
|
29
|
+
hco_et_code?: string;
|
|
30
|
+
hco_et_label?: string;
|
|
31
|
+
hco_et_city?: string;
|
|
32
|
+
hco_et_zip_code?: string;
|
|
33
|
+
hco_et_street_number?: string;
|
|
34
|
+
hco_et_street_type?: string;
|
|
35
|
+
hco_et_street_label?: string;
|
|
36
|
+
hco_et_dpt_code?: string;
|
|
37
|
+
hco_et_dpt_label?: string;
|
|
38
|
+
hco_et_region_label?: string;
|
|
39
|
+
hco_et_sector?: string;
|
|
40
|
+
hco_et_level_code_3?: string;
|
|
41
|
+
hco_et_level_label_3?: string;
|
|
42
|
+
hco_et_level_code_4?: string;
|
|
43
|
+
hco_et_level_label_4?: string;
|
|
44
|
+
ght_code?: string;
|
|
45
|
+
ght_label?: string;
|
|
46
|
+
ght_code_label?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface OutpatientDoc
|
|
50
|
+
extends OutpatientMeasureFields, OutpatientHospitalFields {
|
|
51
|
+
code: string;
|
|
52
|
+
code_label: string;
|
|
53
|
+
brand?: string;
|
|
54
|
+
owner?: string;
|
|
55
|
+
owner_regroup?: string;
|
|
56
|
+
cip13?: string;
|
|
57
|
+
cip13_code?: string;
|
|
58
|
+
atc1?: string;
|
|
59
|
+
atc2?: string;
|
|
60
|
+
atc3?: string;
|
|
61
|
+
atc4?: string;
|
|
62
|
+
atc5?: string;
|
|
63
|
+
atc1_code?: string;
|
|
64
|
+
atc2_code?: string;
|
|
65
|
+
atc3_code?: string;
|
|
66
|
+
atc4_code?: string;
|
|
67
|
+
atc5_code?: string;
|
|
68
|
+
period?: string;
|
|
69
|
+
/** Derniere periode couverte par la ligne. */
|
|
70
|
+
max_period?: string;
|
|
71
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documents des index du portail : fiches prix, journal officiel, taux de
|
|
3
|
+
* change, approbations et designations orphelines.
|
|
4
|
+
*
|
|
5
|
+
* Meme raison que pour les agences : ces documents sont multi-pays et lus par
|
|
6
|
+
* cle construite a l'execution (libelles par langue, historiques indexes par
|
|
7
|
+
* devise). D'ou la signature d'index ouverte, avec les champs que l'app lit
|
|
8
|
+
* nommes explicitement.
|
|
9
|
+
*/
|
|
10
|
+
import type { CurrencyRateSource } from "../heart/CurrencyRate";
|
|
11
|
+
|
|
12
|
+
export type { CurrencyRateSource };
|
|
13
|
+
|
|
14
|
+
/** Un point de la chronologie de prix d'une fiche produit. */
|
|
15
|
+
export interface DrugPricePoint {
|
|
16
|
+
date?: string;
|
|
17
|
+
factory_price?: number;
|
|
18
|
+
public_price?: number;
|
|
19
|
+
reference_price?: number;
|
|
20
|
+
currency?: string;
|
|
21
|
+
[field: string]: any;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Document de `ope_block303_drug_cards`. */
|
|
25
|
+
export interface DrugCardDoc {
|
|
26
|
+
local_drug_id?: string;
|
|
27
|
+
brand?: string;
|
|
28
|
+
brand_group?: string;
|
|
29
|
+
label?: string;
|
|
30
|
+
label_local?: string;
|
|
31
|
+
molecule?: string | string[];
|
|
32
|
+
molecule_en?: string | string[];
|
|
33
|
+
manufacturer?: string;
|
|
34
|
+
manufacturers?: string[];
|
|
35
|
+
country_name?: string;
|
|
36
|
+
country?: { country_iso_2?: string; country_label?: string };
|
|
37
|
+
currency?: string;
|
|
38
|
+
atc4?: string;
|
|
39
|
+
atc5_code?: string;
|
|
40
|
+
specialty_dci?: string;
|
|
41
|
+
commercialization_status?: string;
|
|
42
|
+
status_generic?: string;
|
|
43
|
+
biosimilar?: string;
|
|
44
|
+
distribution_channel?: string;
|
|
45
|
+
price_include?: string;
|
|
46
|
+
unit?: string;
|
|
47
|
+
volumes?: any[];
|
|
48
|
+
price_history?: DrugPricePoint[];
|
|
49
|
+
reimbursement_history?: any[];
|
|
50
|
+
last_price_update?: string;
|
|
51
|
+
update_date?: string;
|
|
52
|
+
[field: string]: any;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Document de `ope_block303_drug_cards__price__jo` (parutions au JO). */
|
|
56
|
+
export interface DrugCardPriceJoDoc {
|
|
57
|
+
local_drug_id?: string;
|
|
58
|
+
label?: string;
|
|
59
|
+
brand?: string;
|
|
60
|
+
manufacturer?: string;
|
|
61
|
+
molecule?: string | string[];
|
|
62
|
+
atc4?: string;
|
|
63
|
+
distribution_channel?: string;
|
|
64
|
+
application?: string;
|
|
65
|
+
update_date?: string;
|
|
66
|
+
[field: string]: any;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Document de `ope__drug_approvals__tekkare`. */
|
|
70
|
+
export interface DrugApprovalDoc {
|
|
71
|
+
brand?: string;
|
|
72
|
+
product?: string;
|
|
73
|
+
molecule?: string | string[];
|
|
74
|
+
molecules?: string[];
|
|
75
|
+
indication?: string | string[];
|
|
76
|
+
owner?: string;
|
|
77
|
+
owner_regroup?: string;
|
|
78
|
+
source?: string;
|
|
79
|
+
source_name?: string;
|
|
80
|
+
amm_status?: string;
|
|
81
|
+
amm_date?: string;
|
|
82
|
+
first_approval_date?: string;
|
|
83
|
+
authorization_date?: string;
|
|
84
|
+
latest_update_date?: string;
|
|
85
|
+
atc_codes?: string[];
|
|
86
|
+
orphan?: string | boolean;
|
|
87
|
+
therapeutic_area_fr?: string;
|
|
88
|
+
therapeutic_area_en?: string;
|
|
89
|
+
[field: string]: any;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Document de `ope__eu_ema_jca_drug_approvals__tekkare` (suivi JCA). */
|
|
93
|
+
export interface JcaApprovalDoc {
|
|
94
|
+
brand?: string;
|
|
95
|
+
molecule?: string | string[];
|
|
96
|
+
indication?: string | string[];
|
|
97
|
+
status?: string;
|
|
98
|
+
[field: string]: any;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** Document de `ope__orphan_designation_ema` / `ope__orphan_designation_fda`. */
|
|
102
|
+
export interface OrphanDesignationDoc {
|
|
103
|
+
product?: string;
|
|
104
|
+
indication?: string | string[];
|
|
105
|
+
is_generic?: boolean;
|
|
106
|
+
is_accelerated_assessment?: boolean;
|
|
107
|
+
is_additional_monitoring?: boolean;
|
|
108
|
+
is_advanced_therapy?: boolean;
|
|
109
|
+
is_conditional_approval?: boolean;
|
|
110
|
+
is_exceptional_circumstances?: boolean;
|
|
111
|
+
is_patient_safety?: boolean;
|
|
112
|
+
is_priority_medicine?: boolean;
|
|
113
|
+
[field: string]: any;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Document de `ope__ww_price_tracker__tekkare`. */
|
|
117
|
+
export interface PriceTrackerDoc {
|
|
118
|
+
brand?: string;
|
|
119
|
+
country_name?: string;
|
|
120
|
+
molecule?: string | string[];
|
|
121
|
+
last_price_update?: string;
|
|
122
|
+
[field: string]: any;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** Document de `ope_provider_tekkare` (sources du portail). */
|
|
126
|
+
export interface ProviderDoc {
|
|
127
|
+
provider_uuid?: string;
|
|
128
|
+
sources?: any[];
|
|
129
|
+
[field: string]: any;
|
|
130
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documents des index ville Medic'AM : ventes mensuelles, cumul glissant et
|
|
3
|
+
* previsions.
|
|
4
|
+
*
|
|
5
|
+
* Les champs declares ici sont ceux que l'app lit ou filtre. Ils ne sont pas
|
|
6
|
+
* l'integralite du mapping du cluster : un champ absent de ce type n'est pas
|
|
7
|
+
* un champ absent de l'index, c'est un champ que l'app n'utilise pas encore.
|
|
8
|
+
* Quand une page en a besoin, on l'ajoute ici plutot que de retomber sur
|
|
9
|
+
* `any`.
|
|
10
|
+
*
|
|
11
|
+
* Les index de cette famille sont en format long : une ligne par couple
|
|
12
|
+
* (code, mesure, secteur), et pour les series mensuelles, par periode. D'ou
|
|
13
|
+
* `measure` et `sector` comme champs de filtre, et non comme colonnes.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** Secteur de dispensation. */
|
|
17
|
+
export type MedicamSector = "office" | "hospital" | "total";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Valeur du champ `measure`. Les noms courts sont ceux du cluster : `unit`
|
|
21
|
+
* pour les unites remboursees, `bse` pour la base de remboursement, `rem`
|
|
22
|
+
* pour le montant rembourse.
|
|
23
|
+
*/
|
|
24
|
+
export type MedicamMeasure =
|
|
25
|
+
"unit" | "bse" | "rem" | "factory_value" | "reimbursement_rate" | "ald_rate";
|
|
26
|
+
|
|
27
|
+
/** Fenetres d'evolution proposees : 1 mois, 3 mois, 12 mois, annee en cours. */
|
|
28
|
+
export type MedicamWindow = "p1" | "p3" | "p12" | "ytd";
|
|
29
|
+
|
|
30
|
+
/** Champs de niveau, remplis selon l'index interroge. */
|
|
31
|
+
export interface MedicamLevelFields {
|
|
32
|
+
code: string;
|
|
33
|
+
code_label: string;
|
|
34
|
+
brand?: string;
|
|
35
|
+
owner_regroup?: string;
|
|
36
|
+
cip13_code?: string;
|
|
37
|
+
atc1_code?: string;
|
|
38
|
+
atc2_code?: string;
|
|
39
|
+
atc3_code?: string;
|
|
40
|
+
atc4_code?: string;
|
|
41
|
+
atc5_code?: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Volumes et evolutions du cumul glissant. */
|
|
45
|
+
export type MedicamWindowFields = {
|
|
46
|
+
[
|
|
47
|
+
K in
|
|
48
|
+
| `volume_${MedicamWindow}`
|
|
49
|
+
| `previous_volume_${MedicamWindow}`
|
|
50
|
+
| `growth_${MedicamWindow}`
|
|
51
|
+
]?: number;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/** Document des index `retail_monthly__*__medicam`. */
|
|
55
|
+
export interface MedicamMonthlyDoc extends MedicamLevelFields {
|
|
56
|
+
period: string;
|
|
57
|
+
period_index?: number;
|
|
58
|
+
period_interval?: string;
|
|
59
|
+
measure: MedicamMeasure;
|
|
60
|
+
measure_index?: number;
|
|
61
|
+
measure_label?: string;
|
|
62
|
+
sector: MedicamSector;
|
|
63
|
+
sector_index?: number;
|
|
64
|
+
volume: number;
|
|
65
|
+
total_volume?: number;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** Document des index `retail_rolling__*__medicam`. */
|
|
69
|
+
export interface MedicamRollingDoc
|
|
70
|
+
extends MedicamLevelFields, MedicamWindowFields {
|
|
71
|
+
period: string;
|
|
72
|
+
period_index?: number;
|
|
73
|
+
period_interval?: string;
|
|
74
|
+
measure: MedicamMeasure;
|
|
75
|
+
measure_index?: number;
|
|
76
|
+
measure_label?: string;
|
|
77
|
+
sector: MedicamSector;
|
|
78
|
+
sector_index?: number;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** Mesures reprises telles quelles par les index de prevision. */
|
|
82
|
+
export type ForecastMeasure =
|
|
83
|
+
| "unit_reimbursed"
|
|
84
|
+
| "amount_reimbursed"
|
|
85
|
+
| "value_public_price"
|
|
86
|
+
| "factory_value";
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Document des index `hw_forecast__*` et `ets_forecast__*`. Une prevision
|
|
90
|
+
* porte son intervalle de confiance a 80 % et a 95 %, et le total observe.
|
|
91
|
+
*/
|
|
92
|
+
export type ForecastBandFields = {
|
|
93
|
+
[
|
|
94
|
+
K in
|
|
95
|
+
| `prediction_${ForecastMeasure}`
|
|
96
|
+
| `lower80_${ForecastMeasure}`
|
|
97
|
+
| `upper80_${ForecastMeasure}`
|
|
98
|
+
| `lower95_${ForecastMeasure}`
|
|
99
|
+
| `upper95_${ForecastMeasure}`
|
|
100
|
+
| `total_${ForecastMeasure}`
|
|
101
|
+
]?: number;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export interface MedicamForecastDoc
|
|
105
|
+
extends MedicamLevelFields, ForecastBandFields {
|
|
106
|
+
period: string;
|
|
107
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documents des index d'analyses agregees : hopital annuel (SUS, retrocession)
|
|
3
|
+
* et statistiques produits (societe, portefeuille, ville).
|
|
4
|
+
*
|
|
5
|
+
* Ces index sont pre-agreges : une ligne porte deja une mesure (`measure`) et
|
|
6
|
+
* sa valeur pour une periode, plus le rang du produit dans son classement
|
|
7
|
+
* (`top_<mesure>`), ce qui evite un `terms` a chaque ouverture d'ecran.
|
|
8
|
+
*/
|
|
9
|
+
export interface DrugStatisticsDoc {
|
|
10
|
+
/** Niveau d'agregation, filtre en `level.keyword`. */
|
|
11
|
+
level?: string;
|
|
12
|
+
/** Type d'analyse, tel que l'index le numerote. */
|
|
13
|
+
analysis_type?: number;
|
|
14
|
+
sector?: string;
|
|
15
|
+
activity?: string;
|
|
16
|
+
code: string;
|
|
17
|
+
label: string;
|
|
18
|
+
period: string;
|
|
19
|
+
period_index?: number;
|
|
20
|
+
measure: string;
|
|
21
|
+
value: number;
|
|
22
|
+
percentage?: number;
|
|
23
|
+
count?: number;
|
|
24
|
+
total?: number;
|
|
25
|
+
owner_regroup?: string;
|
|
26
|
+
source?: string;
|
|
27
|
+
/** Rang du produit pour la mesure du meme nom. */
|
|
28
|
+
[rank: `top_${string}`]: any;
|
|
29
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CurrencyRateSource {
|
|
2
|
+
country_code: string;
|
|
3
|
+
local_rate: number;
|
|
4
|
+
eur_rate: number;
|
|
5
|
+
usd_rate: number;
|
|
6
|
+
update_date: number | null;
|
|
7
|
+
"@timestamp": string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface CurrencyRateDocument {
|
|
11
|
+
_index: string;
|
|
12
|
+
_id: string;
|
|
13
|
+
_score: number;
|
|
14
|
+
_source: CurrencyRateSource;
|
|
15
|
+
}
|
|
16
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export interface OneAnsmResult {
|
|
4
|
+
cis_code: string;
|
|
5
|
+
authorization_date?: string;
|
|
6
|
+
cis_label: string;
|
|
7
|
+
brand: string;
|
|
8
|
+
owner: string;
|
|
9
|
+
owner_regroup: string;
|
|
10
|
+
atc5_code: string;
|
|
11
|
+
atc5_english_label: string;
|
|
12
|
+
atc5_french_label: string;
|
|
13
|
+
atc5_english_code_label: string;
|
|
14
|
+
atc5_french_code_label: string;
|
|
15
|
+
atc4_code: string;
|
|
16
|
+
atc4_english_label: string;
|
|
17
|
+
atc4_french_label: string;
|
|
18
|
+
atc4_english_code_label: string;
|
|
19
|
+
atc4_french_code_label: string;
|
|
20
|
+
pharmaceutical_form: string;
|
|
21
|
+
generic_group_label: string;
|
|
22
|
+
administration_mode: string;
|
|
23
|
+
amm_status: string;
|
|
24
|
+
procedure_type: string;
|
|
25
|
+
commercialization_status: string;
|
|
26
|
+
drug: AnsmDrug[];
|
|
27
|
+
compo:AnsmCompo[]
|
|
28
|
+
cpd: any;
|
|
29
|
+
'@timestamp': string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface AnsmCompo {
|
|
33
|
+
pharmaceutical_form: string;
|
|
34
|
+
substance_dosage: string;
|
|
35
|
+
substance_form: string;
|
|
36
|
+
substance_label: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface AnsmDrug {
|
|
40
|
+
commercialization_date: string;
|
|
41
|
+
commercialization_status: string;
|
|
42
|
+
drug_code: string;
|
|
43
|
+
presentation_label: string;
|
|
44
|
+
presentation_status: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface FlattenedAnsmResult {
|
|
48
|
+
drug: {
|
|
49
|
+
commercialization_date: string;
|
|
50
|
+
commercialization_status: string;
|
|
51
|
+
drug_code: string;
|
|
52
|
+
presentation_label: string;
|
|
53
|
+
presentation_status: string;
|
|
54
|
+
}
|
|
55
|
+
cis_code: string;
|
|
56
|
+
cis_label: string;
|
|
57
|
+
commercialization_status: string;
|
|
58
|
+
brand: string;
|
|
59
|
+
owner: string;
|
|
60
|
+
owner_regroup: string;
|
|
61
|
+
atc5_code: string;
|
|
62
|
+
atc5_english_label: string;
|
|
63
|
+
atc5_french_label: string;
|
|
64
|
+
atc5_english_code_label: string;
|
|
65
|
+
atc5_french_code_label: string;
|
|
66
|
+
atc4_code: string;
|
|
67
|
+
generic_group_label: string;
|
|
68
|
+
atc4_english_label: string;
|
|
69
|
+
atc4_french_label: string;
|
|
70
|
+
atc4_english_code_label: string;
|
|
71
|
+
atc4_french_code_label: string;
|
|
72
|
+
pharmaceutical_form: string;
|
|
73
|
+
administration_mode: string;
|
|
74
|
+
amm_status: string;
|
|
75
|
+
procedure_type: string;
|
|
76
|
+
compo:AnsmCompo[]
|
|
77
|
+
cpd: any;
|
|
78
|
+
'@timestamp': string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface FlattenedAnsmResultCompo {
|
|
82
|
+
cis_code: string;
|
|
83
|
+
cis_label: string;
|
|
84
|
+
commercialization_status: string;
|
|
85
|
+
brand: string;
|
|
86
|
+
owner: string;
|
|
87
|
+
owner_regroup: string;
|
|
88
|
+
atc5_code: string;
|
|
89
|
+
atc5_english_label: string;
|
|
90
|
+
atc5_french_label: string;
|
|
91
|
+
atc5_english_code_label: string;
|
|
92
|
+
atc5_french_code_label: string;
|
|
93
|
+
atc4_code: string;
|
|
94
|
+
atc4_english_label: string;
|
|
95
|
+
generic_group_label: string;
|
|
96
|
+
atc4_french_label: string;
|
|
97
|
+
atc4_english_code_label: string;
|
|
98
|
+
atc4_french_code_label: string;
|
|
99
|
+
pharmaceutical_form: string;
|
|
100
|
+
administration_mode: string;
|
|
101
|
+
amm_status: string;
|
|
102
|
+
procedure_type: string;
|
|
103
|
+
compo:AnsmCompo
|
|
104
|
+
cpd: any;
|
|
105
|
+
'@timestamp': string;
|
|
106
|
+
}
|