initial commit

This commit is contained in:
Thierry Schork
2022-12-30 12:10:12 +01:00
commit 7cf858256a
127 changed files with 12534 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# SQL Server Management Studio Solution File, Format Version 18.00
VisualStudioVersion = 15.0.28307.421
MinimumVisualStudioVersion = 10.0.40219.1
Project("{4F2E2C19-372F-40D8-9FA7-9D2138C6997A}") = "OCTPDBA-431 - Spike create numeric Pharmacode column to improve joins", "OCTPDBA-431 - Spike create numeric Pharmacode column to improve joins.ssmssqlproj", "{49200D75-CCE8-4BF7-B00C-8B96138E067A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Default|Default = Default|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{49200D75-CCE8-4BF7-B00C-8B96138E067A}.Default|Default.ActiveCfg = Default
{B1C08864-F827-4CCF-AB1E-F948C7534FD0}.Default|Default.ActiveCfg = Default
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AC82683E-EB50-4B8A-AEA5-71EC0DEBFD45}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,46 @@
<?xml version="1.0"?>
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="OCTPDBA-431 - Spike create numeric Pharmacode column to improve joins">
<Items>
<LogicalFolder Name="Connections" Type="2" Sorted="true">
<Items>
<ConnectionNode Name="(local):CENTRALINFRA\ua208700">
<Created>2022-12-23T13:40:23.74883+01:00</Created>
<Type>SQL</Type>
<Server>(local)</Server>
<UserName />
<Authentication>Windows Authentication</Authentication>
<InitialDB>Arizona</InitialDB>
<LoginTimeout>30</LoginTimeout>
<ExecutionTimeout>0</ExecutionTimeout>
<ConnectionProtocol>NotSpecified</ConnectionProtocol>
<ApplicationName>Microsoft SQL Server Management Studio - Query</ApplicationName>
</ConnectionNode>
</Items>
</LogicalFolder>
<LogicalFolder Name="Queries" Type="0" Sorted="true">
<Items>
<FileNode Name="check data.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:(local):True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>(local)</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>check data.sql</FullPath>
</FileNode>
<FileNode Name="ddl.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:(local):True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>(local)</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>ddl.sql</FullPath>
</FileNode>
<FileNode Name="todo.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:(local):True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>(local)</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>todo.sql</FullPath>
</FileNode>
</Items>
</LogicalFolder>
<LogicalFolder Name="Miscellaneous" Type="3" Sorted="true">
<Items />
</LogicalFolder>
</Items>
</SqlWorkbenchSqlProject>

View File

@@ -0,0 +1,25 @@
USE [Arizona]
SELECT [PHGD_ACSC_PharmacodeNum]
FROM [dbo].[PHGD_ACSC] [pa]
WHERE TRY_CONVERT(INT,[pa].[PHGD_ACSC_PharmacodeNum]) IS NULL
SELECT [pa].[PHGD_ACXI_PharmacodeNum]
FROM [dbo].[PHGD_ACXI] [pa]
WHERE TRY_CONVERT(INT,[pa].[PHGD_ACXI_PharmacodeNum]) IS NULL
SELECT TOP 10 *
FROM [dbo].[Item_key] [ik]
WHERE [ik].[ITK_type]=1 --phcode
SELECT TOP 10
i.*
,[it].[ITTX_description]
,[it].[ITTX_language]
,ik.[Item_key_ID]
,ik.[ITK_key]
,ik.[ITK_label_text]
FROM [dbo].[Item] [i]
JOIN [dbo].[Item_text] [it] ON it.[ITTX_item] = i.[Item_ID]
JOIN [dbo].[Item_key] [ik] ON ik.[ITK_item] = i.[Item_ID]

View File

@@ -0,0 +1,135 @@
USE [Arizona]
SELECT TOP 10 *
FROM PHGD_ACXI
/*
CREATE TABLE [dbo].[PHGD_ACXI]
(
[PHGD_ACXI_GUID] [dbo].[GUID_identifier] NOT NULL,
[PHGD_ACXI_pharmacode] [dbo].[GUID_identifier] NULL,
[PHGD_ACXI_interaction] [dbo].[GUID_identifier] NULL,
[PHGD_ACXI_classification] [dbo].[Alpha_table_key] NULL,
[PHGD_ACXI_relevance] [dbo].[Small_integer] NULL,
[PHGD_ACXI_status] [dbo].[Small_integer] NULL,
[PHGD_ACXI_TS] [timestamp] NOT NULL,
[PHGD_ACXI_VGUID] [dbo].[VGUID_identifier] NULL CONSTRAINT [DF__PHGD_ACXI__PHGD___59CFA7C1] DEFAULT (newid()),
[PHGD_ACXI_master_ID] [dbo].[Large_name_field] NULL,
[PHGD_ACXI_PharmacodeNum] [dbo].[Small_alphabetical_field] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PHGD_ACXI] ADD CONSTRAINT [PK__PHGD_ACXI__58DB8388] PRIMARY KEY NONCLUSTERED ([PHGD_ACXI_GUID]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [NCIX_PHGD_ACXI_COL_PHGD_ACXI_PharmacodeNum] ON [dbo].[PHGD_ACXI] ([PHGD_ACXI_PharmacodeNum]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
CREATE UNIQUE NONCLUSTERED INDEX [NCIX_PHGD_ACXI_PharmacodeNum_Interaction_Classification] ON [dbo].[PHGD_ACXI] ([PHGD_ACXI_PharmacodeNum], [PHGD_ACXI_interaction], [PHGD_ACXI_classification]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
*/
SELECT TOP 10 *
FROM PHGD_ACSC
/*
CREATE TABLE [dbo].[PHGD_ACSC]
(
[PHGD_ACSC_GUID] [dbo].[GUID_identifier] NOT NULL,
[PHGD_ACSC_pharmacode] [dbo].[GUID_identifier] NULL,
[PHGD_ACSC_substance] [dbo].[GUID_identifier] NULL,
[PHGD_ACSC_sequence] [dbo].[Unique_identifier] NULL,
[PHGD_ACSC_quantity] [dbo].[Small_alphabetical_field] NULL,
[PHGD_ACSC_quantity_unit] [dbo].[Normal_name_field] NULL,
[PHGD_ACSC_code] [dbo].[Alpha_table_key] NULL,
[PHGD_ACSC_status] [dbo].[Small_integer] NULL,
[PHGD_ACSC_TS] [timestamp] NOT NULL,
[PHGD_ACSC_VGUID] [dbo].[VGUID_identifier] NULL CONSTRAINT [DF__PHGD_ACSC__PHGD___513A61C0] DEFAULT (newid()),
[PHGD_ACSC_master_ID] [dbo].[Large_name_field] NULL,
[PHGD_ACSC_PharmacodeNum] [dbo].[Small_alphabetical_field] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PHGD_ACSC] ADD CONSTRAINT [PK__PHGD_ACSC__50463D87] PRIMARY KEY NONCLUSTERED ([PHGD_ACSC_GUID]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
CREATE UNIQUE NONCLUSTERED INDEX [NCUIX_PHGDACSC_COL_PHGDPharmacodeNum] ON [dbo].[PHGD_ACSC] ([PHGD_ACSC_PharmacodeNum], [PHGD_ACSC_sequence]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
*/
SELECT TOP 10 *
FROM [dbo].[PH_item] [pi]
/*
CREATE TABLE [dbo].[PH_item]
(
[PH_item_GUID] [dbo].[GUID_identifier] NOT NULL,
[PHIT_OICM_code] [dbo].[GUID_identifier] NULL,
[PHIT_refund_code] [dbo].[GUID_identifier] NULL,
[PHIT_item] [dbo].[Unique_identifier] NOT NULL,
[PHIT_std_posology] [dbo].[GUID_identifier] NULL,
[PHIT_code] [dbo].[Small_alphabetical_field] NULL,
[PHIT_type] [dbo].[Small_integer] NULL,
[PHIT_tax] [dbo].[Boolean_Code] NOT NULL CONSTRAINT [DF__PH_item__PHIT_ta__566BF0CA] DEFAULT (0),
[PHIT_points] [dbo].[Quantities] NULL,
[PHIT_OFAC_code] [dbo].[Small_alphabetical_field] NULL,
[PHIT_tariff_code] [dbo].[Alpha_table_key] NULL,
[PHIT_prescription_mandatory] [dbo].[Boolean_Code] NOT NULL CONSTRAINT [DF__PH_item__PHIT_pr__57601503] DEFAULT (0),
[PHIT_posology_mandatory] [dbo].[Boolean_Code] NOT NULL CONSTRAINT [DF__PH_item__PHIT_po__5854393C] DEFAULT (0),
[PHIT_APS_TS] [dbo].[APS_timestamp] NOT NULL CONSTRAINT [DF__PH_item__PHIT_AP__59485D75] DEFAULT (getdate()),
[PHIT_VGUID] [dbo].[VGUID_identifier] NULL CONSTRAINT [DF__PH_item__PHIT_VG__5A3C81AE] DEFAULT (newid()),
[PHIT_master_ID] [dbo].[Large_name_field] NULL,
[PHIT_TS] [timestamp] NOT NULL,
[PHIT_substitution] [dbo].[Small_integer] NULL,
[PHIT_usage_limit_management] [dbo].[Small_integer] NULL,
[PHIT_economical_order_qty] [dbo].[Quantities] NULL,
[PHIT_supplying_batch_qty] [dbo].[Quantities] NULL,
[PHIT_safety_qty] [dbo].[Quantities] NULL,
[PHIT_generic_source] [dbo].[Small_alphabetical_field] NULL,
[PHIT_strict_generic] [dbo].[Small_integer] NULL,
[PHIT_GD_withdrawal_override] [dbo].[Small_integer] NULL,
[PHIT_GD_info_override] [dbo].[Small_integer] NULL,
[PHIT_GD_refund_code_override] [dbo].[Small_integer] NULL,
[PHIT_aids_and_appliances_list] [dbo].[Small_integer] NULL CONSTRAINT [DF__PH_item__PHIT_ai__2BF09CED] DEFAULT ((1)),
[PHIT_insurance_code] [dbo].[Small_integer] NULL,
[PHIT_Product_number] [dbo].[Unique_identifier] NULL,
[PHIT_AbusePotential] [dbo].[Boolean_Code] NOT NULL CONSTRAINT [DF__PH_item__PHIT_Ab__5766CF20] DEFAULT ((0)),
[PHIT_expiry] [smallint] NULL,
[PHIT_group_code] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_large_package_type] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_narcotic] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_narcotic_code] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_number_of_pieces] [int] NULL,
[PHIT_refrigeration] [int] NULL,
[PHIT_safety_data_sheet_date_english] [datetime] NULL,
[PHIT_safety_data_sheet_date_french] [datetime] NULL,
[PHIT_safety_data_sheet_date_german] [datetime] NULL,
[PHIT_safety_data_sheet_date_italian] [datetime] NULL,
[PHIT_sloplus] [int] NULL,
[PHIT_withdrawal_date] [datetime] NULL,
[PHIT_assortment_1] [dbo].[GUID_identifier] NULL,
[PHIT_assortment_2] [dbo].[GUID_identifier] NULL,
[PHIT_temperature] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_toxic] [bit] NULL,
[PHIT_toxicity_class] [varchar] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_packaging] [int] NULL,
[PHIT_chemical_group] [nvarchar] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PHIT_TariffModel] [bit] NOT NULL CONSTRAINT [DF_PHIT_TariffModel] DEFAULT ((0)),
[PHIT_XyxleInfo] [bit] NOT NULL CONSTRAINT [DF_PHIT_XyxleInfo] DEFAULT ((0)),
[PHIT_large_generic_sequence] [smallint] NULL,
[PHIT_limitation_exist] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PH_item] ADD CONSTRAINT [PK__PH_item__5577CC91] PRIMARY KEY NONCLUSTERED ([PH_item_GUID]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
CREATE UNIQUE NONCLUSTERED INDEX [XIF3030PH_item] ON [dbo].[PH_item] ([PHIT_item]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [NCIX_PH_item_COL_PHIT_Product_number] ON [dbo].[PH_item] ([PHIT_Product_number]) INCLUDE ([PH_item_GUID]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [XIE2PH_item] ON [dbo].[PH_item] ([PHIT_master_ID]) WITH (FILLFACTOR=90) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PH_item] ADD CONSTRAINT [FKPHITAssortment1] FOREIGN KEY ([PHIT_assortment_1]) REFERENCES [dbo].[PHGD_CODES] ([PHGD_CODES_GUID])
GO
ALTER TABLE [dbo].[PH_item] ADD CONSTRAINT [FKPHITAssortment2] FOREIGN KEY ([PHIT_assortment_2]) REFERENCES [dbo].[PHGD_CODES] ([PHGD_CODES_GUID])
GO
EXEC sp_addextendedproperty N'1', N'Avec Modèle tarifaire', 'SCHEMA', N'dbo', 'TABLE', N'PH_item', 'COLUMN', N'PHIT_TariffModel'
GO
*/
SELECT TOP (100) * FROM [dbo].[Item_key] [ik]
WHERE [ik].[ITK_type] = 1 --phcode

View File

@@ -0,0 +1,32 @@
/*
[PHGD_ACXI]
aucune donnée non numérique dans le champ PHGD_ACXI_PharmacodeNum dans les pharma N1 et N2
recommendation => changement du type du champ
impact en db:
dbo.aps_PHGD_ACXI_1_1
dbo.aps_PHGD_ACXI_2_1
dbo.aps_PHGD_ACXI_3
atl.BusinessCheck2
[PHGD_ACSC]
aucune donnée non numérique dans le champ PHGD_ACXI_PharmacodeNum dans les pharma N1 et N2
recommendation => changement du type du champ
impact en db:
dbo.aps_DWT_Item_Search_Generate_1_3
dbo.aps_PH_Prescription_Line_5
dbo.aps_PH_Prescription_Line_5_3
dbo.aps_PH_Search_Item_1_1
dbo.aps_PH_Search_Item_1_2
dbo.aps_PH_Search_Item_1_3
dbo.aps_PH_Search_Item_1_5
dbo.aps_PHGD_SC_3
atl.BusinessCheck2
Question:
* le mail en pièce jointe dans la us parle d'un autre spike, est-ce que c'est relevant ?
* Est-ce que l'ajout d'une FK vers item.PH_item_GUID ne serait pas plus judicieux ?
Dans le mail en pièce joint, Gilles propose:
Add column Item_id and delete column Pharmacodenum
* item_key.ITK_key est de type [dbo].[Normal_name_field], qui est un varchar(30), il n'y a donc pas de pharmacode au format entier en db
*/