:

:

 

..

21 2006

 

, ,

 

1.

 

, , , - , .

:

1. ( ), 21.03.2006 N 38;

2. " - , ", 25.02.2005 N 844/30-3/;

3. 13.06.2006 N 476 " , ()";

4. 28.12.2005 N 129 ( 31.05.2006 N 61) " ".

- .

, :

- , , , ;

- , , , ;

- ;

- ;

- () / - , .

 

2.

 

, 21.03.2006 N 38.

1.

 

1

 

N


N 38 21.03.2006



1.

"" -

L

2.

"" -

R

3.

-
-10

MKB

4.

"" - -

PLS

5.

-
,

Doctor

6.

"" -

PCLS

7.

"" -

CLS

8.

"" -

PayL

9.

"" -
(
,

)

FP

10.

"" - ,

FL

11.

"" - -

LPU

 

3.

 

:

- ( );

- ( );

- .

T-SQL (Transact Structured Query Language) ANSI SQL-92.

2.

 

2

 


 

┌─────┬──────────────┬────────────────────────────────────────────────┬────────────────────────┬──────┐

│ │ (T-SQL)

│-│ ││

││

├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┼──────┤

│00

├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┼──────┤

│00.01│ │SELECT * FROM L WHERE ISNUMERIC │06

│(REVERSE(SUBSTRING(REVERSE(LTRIM(RTRIM(SN_LR))),│

│1, CHARINDEX(' ',REVERSE(LTRIM(RTRIM(SN_LR))), │(

│1) -1))) = 0 │ │

│).

│SN_LR, ,

│ .

│ :

│ (

│ "").

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│00.02│ │SELECT * FROM L WHERE │07

│REVERSE(SUBSTRING(REVERSE(LTRIM(RTRIM(SN_LR))), │ │

│CHARINDEXC(' ',REVERSE(LTRIM(RTRIM(SN_LR))), │,

│1) + 1, │.

│LEN(LTRIM(RTRIM(SN_LR))))) NOT IN ("50","5006") │: "50" "5006"│

│( │

│ ). │

│ :

│ (

│ "").

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│00.03│ │SELECT * FROM L │ , - │08

│ │WHERE DS NOT IN │ , │

│(SELECT DS FROM MKB) │ -│

│-10 │ -10. -│

│ DS.

│ :

│ (

│ ""),

│. :

│ -│

│,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│00.04│ -│SELECT L.* FROM L │04

│ -│LEFT OUTER JOIN LPU ON

│ , │LPU.C_OGRN = L.C_OGRN AND │ :

│LPU.MCOD = L.MCOD AND │- --│

│L.DATE_VR BETWEEN LPU.DATE_B AND

│(CASE LPU.DATE_E WHEN " THEN '01/01/2222' ELSE │C_OGRN MCOD

│ISNULL(LPU.DATE_E, '01/01/2222') END) ;

│WHERE LPU.C_OGRN IS NULL │- -│

(DATE_VR) -│

│ - │

│ .

│L.DATE_VR > LPU.DATE_E

│( │

│,

│,

│ ) │

│L.DATE_VR < LPU.DATE_B

│(

│).

│ :

│ (

│ ""),

│"".

│ : -

│ ,

├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┼──────┤

│01

├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┼──────┤

│01.01│ │SELECT L.* FROM L │10

│WHERE DATE_OBR > DATEADD(DAY,30,DATE_VR) │ :

│-

│ -│

│ 30

│.

│L.DATE_OBR > L.DATE_VR +│

│30 .

│ :

│ (

│ "").

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.02│ - │SELECT L.* FROM L INNER JOIN │ - │04

│(SELECT SN_LR │ - │

│FROM L │:

│GROUP BY SN_LR │-

│HAVING COUNT(*) > 1) T ON │D_TYPE = 000;

│T.SN_LR = L.SN_LR AND │- - │

│T.D_TYPE = '000'

│, │

│(SN_LR).

│ :

│ (

│ "").

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.03│ -│SELECT L.* FROM L │05

│ -│INNER OUTER PLS ON │ :

│ -│PLS.NOMK_LS = L.NOMK_LS │- │

│ - │INNER JOIN R ON │ , │

│ -│R.SN_LR = L.SN_LR AND │ , -

│R.DATE_VR = L.DATE_VR AND │ , │

│R.C_OGRN = L.C_OGRN AND │ - │

│R.MCOD = L.MCOD AND │ .

│R.C_MNN <> PLS.C_MNN │ - │

│:

│- │

│SN_LR;

│- DATE_VR; │

│- C_OGRN │

│MCOD.

│ :

│ (

│ ""), - │

│ ,

│ "".

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.04│ - │SELECT L.* FROM L │ - │11

│c - │INNER JOIN R ON │ :

│ -│R.SN_LR = L.SN_LR AND │- │

│ - │(R.C_OGRN <> L.C_OGRN OR │ , -│

│, │R.MCOD <> L.MCOD) │ ,

│ - │

│ - │,

│ ,

│ .

│ : │

│- │

│SN_LR.

│ :

│ (

│ ""),

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.05│ │SELECT L.* FROM L │05

│ │INNER JOIN R ON │ :

│R.SN_LR = L.SN_LR AND │- │

│ │R.DATE_VR = L.DATE_VR AND │ ,

│, -│R.C_OGRN = L.C_OGRN AND │ , │

│ │R.MCOD = L.MCOD AND

│R.SS <> L.SS │,

│ ,

│ .

│ - │

│:

│- │

│SN_LR;

│- (C_OGRN, MCOD).

│ :

│ (

│ ""), - │

│ .

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.06│ │SELECT L.* FROM L │12

│INNER JOIN R ON │ :

│R.SN_LR = L.SN_LR AND │- │

│ │R.C_OGRN = L.C_OGRN AND │ ,

│, │R.MCOD = L.MCOD AND │ , │

│R.DATE_VR <> L.DATE_VR

│,

│ ,

│ .

│ - │

│:

│- │

│SN_LR;

│- (C_OGRN, MCOD).

│ :

│ (

│ ""), - │

│ .

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│01.07│ -│SELECT L.* FROM L │09

│ │LEFT OUTER JOIN R ON │ :

│R.SN_LR = L.SN_LR │-

│WHERE R.SN_LR IS NULL │ -│

│, . │

│ : │

│- │

│SN_LR.

│ :

│ (

│ ""), - │

│ .

│ : -

│ ,

├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┴──────┤

│02

├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┬──────┤

│02.01│ -│SELECT L.* FROM L │13

│LEFT OUTER JOIN DOCTOR ON

│ - │DOCTOR.PCOD = L.PCOD AND │ :

│ - │L.DATE_VR < │- , -

│ │(CASE DOCTOR.DATE_E WHEN " THEN '01/01/2222' │, - │

│ELSE ISNULL(DOCTOR.DATE_E, '01/01/2222') END) │ - │

│WHERE DOCTOR.PCOD IS NULL │, │

│ .

│ │

│:

│- PCOD ;

│-

│ │

│L.DATE_VR >

│Doctor.DATE_E (

│, │

│ -│

│ , - │

│,

│ ).

│ :

│ (

│ ""),

│"".

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.02│ │SELECT L.* FROM L │03

│INNER JOIN PAYL ON │ │

│PAYL.SN_LR - L.SN_LR AND │:

│PAYL.C_OGRN = L.C_OGRN AND │- │

│PAYL.PCOD = L.PCOD AND │ . │

│PAYL.SS = L.SS AND │ │

│PAYL.DATE_VR <> L.DATE_VR │ () -

│ :

│- SN_LR;

│- C_GRN;

│- PCOD;

│- SS;

│- DATE_VR.

│ :

│ (

│ ""), - │

│ .

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.03│ │SELECT L.* FROM L │05

│LEFT OUTER JOIN PLS ON

│ │PLS.NOMK_LS = L.NOMK_LS AND │ :

│L.DATE_OTP BETWEEN_PLS.DATE_B AND │- │

│(CASE PLS.DATE_E WHEN " THEN '01/01/2222' ELSE NOMK_LS,

│ISNULL(PLS.DATE_E, '01/01/2222') END) ,

│WHERE PLS. NOMK_LS IS NULL - │

│ ;

│- (

│) -│

│ .

│L.DATE_OTP < PLS.DATE_B │

│( - │

│)

│L.DATE_OTP > PLS.DATE_E │

│(

│, - │

│,

│ ).

│ :

│ (

│ ""),

│"".

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.04│ -│SELECT L.* FROM L │06

│ - │LEFT OUTER JOIN CLS ON

│CLS.C_PFS = L.C_PFS AND │ :

│ -│L.DATE_OTP BETWEEN CLS.DATE_BP AND │- -│

│(CASE CLS.DATE_EP WHEN " THEN '01/01/2222' ELSE │ - │

│ISNULL(CLS.DATE_EP, '01/01/2222') END) │ C_PFS,│

│WHERE CLS.C_PFS IS NULL │ ;

│- │

│ -

│ :

│L.DATE_OTP > CLS.DATE_EP│

│( │

│, ,

│)

│L.DATE_OTP < CLS.DATE_BP│

│(

│).

│ :

│ (

│ ""),

│"".

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.05│ │SELECT L.* FROM L │ - │01

│ │LEFT OUTER JOIN FP ON │ -│

│FP.SS = L.SS AND │ -│

│FP.S_EDV = 1 AND │:

│L.DATE_VR < │- -│

│(CASE FP.DATE_RSE WHEN " THEN '01/01/2222' ELSE │ (SS) - │

│ISNULL(FP.DATE_RSE, '01/01/2222') END) ,

│WHERE FP.SS IS NULL ;

│- ,

│,

│ (S_EDV=0);│

│- ,

│,

│ ,

│ , │

│, │

│.

│L.DATE_VR > P.DATE_RSE

│(

│, ,

│ │

│).

│ :

│ (

│ ""), │

│ ,

│ -│

│ - │

│ , -│

│ (

│"").

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.06│ │SELECT L.* FROM L │03

│ │LEFT OUTER JOIN FL ON │ :

│ -│FL.SS = L.SS AND │-

│L.DATE_VR BETWEEN FL.DATE_BL AND │ │

│(CASE FP.DATE_EL WHEN " THEN '01/01/2222' ELSE

│ISNULL(FP.DATE_EL, '01/01/2222') END) .

│WHERE FL.SS IS NULL │L.DATE_VR < FL.DATE_BL

│( )

│L.DATE_VR > FL.DATE_EL

│(

│, ,

│ │

│).

│ :

│ (

│ ""),

│"" -

│.

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.07│ │SELECT L.* FROM L │ - │02

│ │LEFT OUTER JOIN PCLS ON │ -│

│L.C_PFS = PCLS.C_PFS │ -│

│WHERE │:

│((PCLS.MSG_TEXT LIKE '% %') AND │- -│

│(L.SL_ALL - ROUND(ROUND(PCLS.PR_REG_LIM * │ - │

│L.DOZ_LS, 2) * L.KO_ALL, 2) >= 0.01)) │ C_PFS,│

│OR │ ;

│((PCLS.MSG_TEXT NOT LIKE '% %') │- │

│AND │ 0,01

│(L.SL_ALL - ROUND(PCLS.PR_REG_LIM * L.KO_ALL, │.

│2)) > 0.01)) │ │

│OR PCLS.PR_REG_LIM IS NULL │ │

│ ( 02.08). │

│ :

│ (

│ ""),

│"".

│ : -

│ ,

├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤

│02.08│ │SELECT L.*, │ │

│CASE

│WHEN PCLS.PR_REG_LIM IS NULL THEN L.SL_ALL .

│WHEN (PCLS.MSG_TEXT LIKE '% %')

│AND │C_PFS

│(L.SL_ALL > ROUND(ROUND(PCLS.PR_REG_LIM * │ - │

│L.DOZ_LS, 2) * L.KO_ALL, 2)) │ │

│THEN L.SL_ALL - ROUND(ROUND(PCLS.PR_REG_LIM * │(PR_REG_LIM)

│L.DOZ_LS, 2) * L.KO_ALL, 2) .

│WHEN (PCLS.MSG_TEXT NOT LIKE '% PR_REG_LIM

A%') AND ,

│(L.SL_ALL > ROUND(PCLS.PR_REG_LIM * L.KO_ALL, =

│2)) THEN L.SL_ALL - ROUND(PCLS.PR_REG_LIM * │SL_ALL,

│L.KO_ALL, 2) │: =│

│ELSE 0 │PR_RE_LIM │

│END AS [] │ -│

│FROM L │ - '

│LEFT OUTER JOIN PCLS 1 ME'

│ON L.C_PFS = PCLS.C_PFS │' 1

│',

│ :

│ =

│ (PR_REG_LIM *

│DOZ_ME

│(- │

│))

│ SL_ALL >

│(*_LL) │

│ = SL_ALL│

│-

│(*)

│ = 0.

│ :

│ (

│ ""),

│"".

│ : │

│ - │

│"" -│

└─────┴──────────────┴────────────────────────────────────────────────┴────────────────────────┴──────┘

 


 

4.

 

. , , 3.

 

3

 




21.03.2006 N 38

" , -
" (
, .)


( )

01

01


03

03


,

05

-

" ,
"


05

01


06

" "

 

 

04

04

03

03

" , -

"

06

02

07


-10

08

-


,

04

04

/

03

03


09

-

10

-



05

05

-
, -

11

-


, -

12

-


13

-

 


01

-

" "

 

 

02

02

 

5.

 

 

- __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __

 

 

┌─┐ ┌─────────────────┐ ┌──────────────┐

│1│ │ │

└┬┘ ┌─┤ │<───┤

│ └─────────────────┘ └─────┬────────┘

\/ ┌─────────────────┐

┌┴┐ │ ┌──────────────┐ │ │

│1│ │ │ │

└─┘ │ └─┬────────────┘ └─────────────────┘

_ __ __ __ │_ __ __/\__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __

┌─┐ │ \/

│2│ │ ┌─────────┴────┐ ┌──────────────────┐

└┬┘ │ │ ├─>│ -│

│ │

└──────┬───────┘ └─────────┬────────┘

\/ \/

┌──────────────┐ ┌──────────────────┐

│ │<─┤

└──────┬───────┘ └────────┬─────────┘

│ ┌─────────────────┐ \/ \/

│ │ │ ┌───────────────┐ ┌──────────────────┐

│ │ │<──┤ -│ │ ├───┐

│ │ │ │

│ └────────┬────────┘ └───────┬───────┘ └──────────────────┘

┌┴┐ │ ┌────┴─────────────────┐

│2│ │ │ │

└─┘ │

└────┬─────────────────┘

__ __ __ __ __ __ _│_ __ __ __ __ __ __ __ __ __ __ _│_ __ __ __ __ __ _

┌─┐ │

│3│ │

└┬┘ │ \/

┌─────────────────┐

│, -│

│ │<───────────┐

└───────┬─────────┘

\/

┌─────────────────┐

┌┴┐ │ ┌────┴─────────────────┐

│3│ │ └───────┬─────────┘ │ , │

└─┘ │ │ │

└────┬─────────────────┘

__ __ __ _│_ __ __ __ __ __ __ __│__ __ __ __│__ __ __ __ __ __ _

┌─┐ │ \/

│4│ │ ┌─────────────────┐ ┌─────────┴──────┐

└┬┘ │ │ │

└───────┬─────────┘ └────────────────┘

\/ /\

┌─────────────────┐ ┌─────────┴──────────┐│

└──────────>│ ├─>│ , ││

│ ││

└─────────────────────>│ └────────────────────┘│

│<───────────────────────┘

└───────┬─────────┘

\/

┌─────────────────┐

│ , │

│ -│

└───────┬─────────┘

\/

┌─────────────────┐

└─────────────────┘

┌──────────────────────────┐

┌┴┐ │ │

│4│

└─┘ └──────────────────────────┘

__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ _

 

6.

 

 

6.1. , ( 02 - ):

 

" , "
( , .)

(
)

01

03

" , "

05

06

" "

 

04

03

" "

 

02


13

 

05, 06. , , , , (PLS.DATE_E, "" " "), (CLS.DATE_EP, " "" - "), 02.03 05 . 02.04 06, CLS.

03. ( ) , , SN_LR - - SL_ALL. 02.02 03 , .. , . , D_TYPE=1, 02.02 C_PFS SL_ALL PAYL L.

6.2. , - , , :

 


,

05

09


05

,

11


,

12

 

.

6.3. , :

 

01

 

.

6.4. (03, 04, 06-08, 10), , , , . 01.01 10 30 . , .

 

 



- // , , , , , , //

@Mail.ru

Copyright www.hippocratic.ru, 2012 - 2018