Sql server er_字段_数据_11为[State Lic#],替换为[State Lic Exp] ,udf.user_field_data_09作为[Medicaid#],NULL作为[Medicaid过期日期],NULL作为[Medicaid状态] ,NULL为[

Sql server er_字段_数据_11为[State Lic#],替换为[State Lic Exp] ,udf.user_field_data_09作为[Medicaid#],NULL作为[Medicaid过期日期],NULL作为[Medicaid状态] ,NULL为[,sql-server,sql-server-2008,stored-procedures,reporting-services,ssrs-2008,Sql Server,Sql Server 2008,Stored Procedures,Reporting Services,Ssrs 2008,er_字段_数据_11为[State Lic#],替换为[State Lic Exp] ,udf.user_field_data_09作为[Medicaid#],NULL作为[Medicaid过期日期],NULL作为[Medicaid状态] ,NULL为[Public Email],dbo.telephony.telephony_字符串为[NPI电话号码],dbo.provider.NPI为[NPI号码(类型1)] --,合并(vppa.privilege\u provider 1\u name

er_字段_数据_11为[State Lic#],替换为[State Lic Exp] ,udf.user_field_data_09作为[Medicaid#],NULL作为[Medicaid过期日期],NULL作为[Medicaid状态] ,NULL为[Public Email],dbo.telephony.telephony_字符串为[NPI电话号码],dbo.provider.NPI为[NPI号码(类型1)] --,合并(vppa.privilege\u provider 1\u name,NULL)为[医院附属机构名称1] ,vppa.privilege_provider 1_名称为[医院附属机构名称1] ,空为[医院附属机构名称2] ,空为[医院附属机构名称3] ,dbo.person\u id\u key.id\u key作为SSN,dbo.provider.tax\u id,NULL作为[TIN所有者],dbo.provider.provider\u name作为[Group name] ,t2.NPI AS[NPI编号(II型)] ,''作为[此NPI是否适用于此税号的所有服务地点和帐单地址?] ,''作为[此NPI是否适用于使用此税务id的所有提供商?] ,''AS[此NPI是否仅适用于此提供商的所有服务地点和计费地址?] ,''作为[此NPI是否仅适用于此提供商的所有到所有税务ID?] ,dbo.address.address_1为[Service address],dbo.address.address_2为[Service Suite],dbo.address.city为[Service city],dbo.state.state_代码为[Service state],子字符串(dbo.address.zip,1,5)为[Service zip] ,(CHARINDEX('-',dbo.address.zip)=0时的大小写) 然后“ ELSE子字符串(dbo.address.zip,(CHARINDEX('-',dbo.address.zip)+1),4) 结束)作为[服务邮政编码扩展] ,dbo.telephony.telephony_字符串为[服务电话],fax_telephony_字符串为[服务传真] ,(udf.user_field_data_01+'|'+udf.user_field_data_02+'|'+udf.user_field_data_03+'|'+udf.user_field_data_04+'|'+udf.user_field_data_05+'|'+udf.user_field_data_data_06+|'+udf.user_field_data_数据_07)作为[办公时间] ,空为[执业年龄限制] ,udf2.user_字段_数据_03作为[接受新患者] ,udf2.user_字段_数据_02作为[目录打印] ,t2.【账单地址】 ,t2.[计费套件] ,t2。[计费城市] ,t2.[计费状态] ,t2。[邮政编码] ,t2.[计费ZIP扩展] ,t2.[计费电话] ,t2.[帐单传真] ,替换(将(VARCHAR(10),dbo.address_link.start_date,101),“/”,“”)转换为[网络TIN/服务位置生效日期] ,替换(将(VARCHAR(10),dbo.address\u link.end\u date,101),“/”,“”)转换为[网络TIN/服务位置期限日期] ,强制转换为[原始凭证日期] ,将(udf.user_字段_数据_27作为日期)转换为[重新引用日期] ,(当udf.user\u字段\u数据\u 21=udf.user\u字段\u数据\u 26时的情况 然后“ ELSE CAST(udf.user\u字段\u数据\u 21作为日期) 结束)截至[最近的重新设定日期] ,空为[PEARL-HAMP提供程序?] ,company.company_代码 ,公司名称 ,dbo.address.address\u loc ,dbr_addr.db_record_id作为db_record_id_addr ,dbo.provider.external_provider_id,dbo.db_record.active_标志,dbo.provider.provider_类型 ,dbo.provider.provider\u标识 ,db_record.db_record_id ,db_record.key1 ,db_record.linking_id ,db\u record.record\u模板\u库\u标识 ,db_record.calling_db_record_id ,db_record.parent_db_record_id ,t2.db\u记录\u id\u父项 ,t2.u身份 来自dbo.provider 左外连接dbo.db_记录 在dbo.provider.provider_identity=dbo.db_record.key1上 和dbo.db_record.table_code='PROV' --用于连接到常规提供商记录的组提供商数据(账单地址字段) 左外连接[#临时组]为t2 在t2.db_record_id_child=dbo.db_record.db_record_id上 --接下来的3个连接需要访问company.company_代码并提取MP记录(牙科主计划) 左外连接dbo.provider_附属praf 在praf.db_record_id_child=dbo.db_record.db_record_id上 左外部联接dbo.db_记录作为dbr_父项 在praf.db\u record\u id\u parent=dbr\u parent.db\u record\u id上 左外联公司 在dbr_parent.key1=company.company_标识上 --用于“接受新患者”和“目录打印”标志代码(可在Acuity的“提供商网络”选项卡上找到) 左外接v_提供商_网络_附属vpna 在vpna.key2=dbo.provider.provider\u标识上 和vpna.key1='280' 左外部联接用户\字段\数据为udf2 在udf2上。表_code='PRNW' 和udf2.key1=vpna.provider\u affiliation\u identity --服务地址字段(常规提供商记录级别) 左外连接dbo.address\u链接 在dbo.db_record.db_record_id=dbo.address_link.db_record_id上 和dbo.address\u link.order\u no=1 左外联接dbo.address 在dbo.address\u link.address\u identity=dbo.address.address\u identity上 左外连接dbo.db_记录为dbr_addr 在dbo.address.address\u identity=dbr\u addr.key1上 和dbr_addr.table_code='addr' 左外连接dbo.state 关于dbo.address.state_identity=dbo.state.state_identity 左外部联接dbo.reason\u引用为rr\u国家/地区 关于dbo.address.country\u identity=rr\u country.reason\u reference\u identity 左外部联接dbo.reason\u引用为rr\u区域 关于dbo.address.region\u identity=rr\u region.reason\u reference\u identity 左外连接dbo.telephony_链接 在dbo.db_record.db_record_id=dbo.telephony_link.db_record_id上 和dbo.telephony\u link.order\u no=1 左外连接dbo.telephony 在dbo.telephony\u link.telephony\u identity=dbo.telephony.telephony\u identity上 左外部联接dbo.reason\u引用为rr\u fax 关于rr_fax.reason_代码='fax' 和rr_fax.reason_type='TT' 左外连接dbo.telephony\u链接作为传真通知 在dbo.db_record.db上_
/*  These 2 below SELECTs pull the Group provider data only from Acuity which is output to #Temp_Group table */

SELECT DISTINCT provider.provider_identity 
      ,provider_affiliation.db_record_id_parent
      ,provider_affiliation.db_record_id_child 
      ,provider.external_provider_id 
      ,provider.npi 
      ,provider.provider_name 
      ,provider.provider_type 
      ,provider.tax_id
      , db_record_parent.db_record_id
INTO #Temp
FROM provider AS provider 
    ,provider AS provider2 
    ,provider_affiliation 
    ,db_record AS db_record_parent 
    ,db_record AS db_record_child 
WHERE (( provider.provider_identity = db_record_parent.key1 ) 
  AND  ( db_record_parent.db_record_id = provider_affiliation.db_record_id_parent ) 
  AND  ( provider2.provider_identity = db_record_child.key1 ) 
  AND  ( db_record_child.db_record_id = provider_affiliation.db_record_id_child ) 
  AND  (provider.provider_type = 'G') 
  AND  (db_record_parent.table_code = 'PROV') 
  AND  (provider2.provider_type <> 'G') 
  AND  (db_record_child.table_code = 'PROV'))
  AND  provider.status = 'ACTV'

SELECT t.provider_identity
      ,t.db_record_id_parent
      ,t.db_record_id_child
      ,t.NPI
      ,t.provider_name
      ,t.provider_type
      ,dbo.address.address_1 AS [Billing Address]
      ,dbo.address.address_2 AS [Billing Suite]
      ,dbo.address.city AS [Billing City]
      ,dbo.state.state_code AS [Billing State]
      ,SUBSTRING(dbo.address.zip,1,5) AS [Billing ZIP] 
      ,(CASE WHEN CHARINDEX('-', dbo.address.zip ) = 0
             THEN ''
             ELSE SUBSTRING(dbo.address.zip,(CHARINDEX('-', dbo.address.zip ) + 1),4)
         END) AS [Billing ZIP Extension]
      ,dbo.telephony.telephony_string AS [Billing Phone]
      ,fax_tele.telephony_string AS [Billing Fax]
INTO #Temp_Group
FROM #Temp AS t
LEFT OUTER JOIN dbo.address_link 
             ON t.db_record_id = dbo.address_link.db_record_id 
            AND dbo.address_link.order_no = 1 
LEFT OUTER JOIN dbo.address 
             ON dbo.address_link.address_identity = dbo.address.address_identity 
LEFT OUTER JOIN dbo.db_record AS dbr_addr 
             ON dbo.address.address_identity = dbr_addr.key1 
            AND dbr_addr.table_code = 'ADDR' 
LEFT OUTER JOIN dbo.state 
             ON dbo.address.state_identity = dbo.state.state_identity 
LEFT OUTER JOIN dbo.telephony_link 
             ON t.db_record_id = dbo.telephony_link.db_record_id 
            AND dbo.telephony_link.order_no = 1 
LEFT OUTER JOIN dbo.telephony 
             ON dbo.telephony_link.telephony_identity = dbo.telephony.telephony_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_fax 
             ON rr_fax.reason_code = 'FAX' 
            AND rr_fax.reason_type = 'TT' 
LEFT OUTER JOIN dbo.telephony_link AS fax_tell 
             ON t.db_record_id = fax_tell.db_record_id 
            AND fax_tell.telephony_type_identity = rr_fax.reason_reference_identity 
            AND fax_tell.order_no = (SELECT  MIN(order_no) AS Expr1
                                       FROM  dbo.telephony_link AS fl
                                       WHERE (db_record_id = t.db_record_id) 
                                         AND (telephony_type_identity = rr_fax.reason_reference_identity)) 
LEFT OUTER JOIN dbo.telephony AS fax_tele 
             ON fax_tell.telephony_identity = fax_tele.telephony_identity 

/* Final Query that combines the provider and group records on the same row.  This query is to provide Aetna a provider list of MP(Master Plan) plans */

SELECT  DISTINCT dbo.person_name.last_name AS [Last Name], dbo.person_name.first_name AS [First Name], dbo.person_name.middle_name AS [Middle Name], CAST(dbo.person.birthdate AS DATE) AS DOB, dbo.person.sex AS Gender, dbo.person_name.name_suffix AS [Degree 1]
       ,NULL AS [Degree 2], NULL AS [Degree 3] 
       ,(CASE WHEN tax.description = '' OR tax.description IS NULL
                   THEN tax.description
              WHEN tax.description IN ('General Practice','General Dentist','Dentist')
                   THEN 'PCP'
              ELSE 'Specialist'
          END) AS Role
       ,tax.description AS [Specialty 1]

       ,(CASE WHEN udf.user_field_data_14 > ' ' AND udf.user_field_data_14 <> 'NA'
             THEN 'Y'
             ELSE 'N'
          END) AS [Board Cert]
       ,NULL AS [Effective Date]
       ,REPLACE(CONVERT (VARCHAR(10), udf.user_field_data_15, 101), '/', '') AS [Expiration Date]
       ,udf.user_field_data_14 AS [Specialty 1 Board Name]
       ,NULL AS [Specialty 2], NULL AS [Board Cert (Y/N)], NULL AS [Effective Date], NULL AS [Expiration Date], NULL AS [Specialty 2 Board Name]
       ,NULL AS [Specialty 3], NULL AS [Board Cert (Y/N)], NULL AS [Effective Date], NULL AS [Expiration Date], NULL AS [Specialty 3 Board Name]
       ,(CASE WHEN rr_l.description <> 'English'
              THEN rr_l.description
              ELSE NULL
          END) AS Language
       ,NULL AS [Medical School], NULL AS [Grad Year]
       ,udf.user_field_data_10 AS [Medicare #], NULL AS [Medicare Exp Date]
       ,REPLACE(CONVERT (VARCHAR(10), udf.user_field_data_30, 101), '/', '') AS [CDS Exp Date]
       ,udf.user_field_data_13 AS [CDS Number]
       ,udf.user_field_data_12 AS DEA, REPLACE(CONVERT (VARCHAR(10), udf.user_field_data_18, 101), '/', '') AS [DEA Exp]
       ,COALESCE(vpl.state,NULL) AS [License State of Issue]
       ,udf.user_field_data_11 AS [State Lic #], REPLACE(CONVERT (VARCHAR(10), udf.user_field_data_17, 101), '/', '') AS [State Lic Exp]
       ,udf.user_field_data_09 AS [Medicaid #],NULL AS [Medicaid Expiration Date],NULL AS [Medicaid State]
       ,NULL AS [Public Email], dbo.telephony.telephony_string AS [NPI Phone Number], dbo.provider.NPI AS [NPI Number (Type 1)]
       --,COALESCE(vppa.privilege_provider1_name, NULL) AS [Hospital Affiliation Name 1] 
       ,vppa.privilege_provider1_name AS [Hospital Affiliation Name 1] 
       ,NULL AS [Hospital Affiliation Name 2]
       ,NULL AS [Hospital Affiliation Name 3]
       ,dbo.person_id_key.id_key AS SSN, dbo.provider.tax_id, NULL AS [TIN Owner], dbo.provider.provider_name AS [Group Name]

       ,t2.NPI AS [NPI Number (Type II)]  
       ,'' AS [Does this NPI apply to all Service Locations and Billing Addresses for this Tax id?]
       ,'' AS [Does this NPI apply to all providers using this Tax id?]
       ,'' AS [Does this NPI apply to all Service Locations and Billing Addresses for this provider only?]
       ,'' AS [Does this NPI apply to all to all tax ids for this provider only?]
       ,dbo.address.address_1 AS [Service Address],dbo.address.address_2 AS [Service Suite],dbo.address.city AS [Service City], dbo.state.state_code AS [Service State],  SUBSTRING(dbo.address.zip,1,5) AS [Service ZIP] 

       ,(CASE WHEN CHARINDEX('-', dbo.address.zip ) = 0
             THEN ''
             ELSE SUBSTRING(dbo.address.zip,(CHARINDEX('-', dbo.address.zip ) + 1),4)
         END) AS [Service ZIP Extension]
       ,dbo.telephony.telephony_string AS [Service Phone], fax_tele.telephony_string AS [Service Fax]
       ,(udf.user_field_data_01 + '|' + udf.user_field_data_02 + '|' + udf.user_field_data_03 + '|' + udf.user_field_data_04 + '|' + udf.user_field_data_05 + '|' + udf.user_field_data_06 + '|' + udf.user_field_data_07) AS [Office Hours]
       ,NULL AS [Practice Age Limitations]


       ,udf2.user_field_data_03 AS [Accepting New Patients]
       ,udf2.user_field_data_02 AS [Directory Print]

       ,t2.[Billing Address]
       ,t2.[Billing Suite]
       ,t2.[Billing City]
       ,t2.[Billing State]
       ,t2.[Billing ZIP] 
       ,t2.[Billing ZIP Extension]
       ,t2.[Billing Phone]
       ,t2.[Billing Fax]

       ,REPLACE(CONVERT (VARCHAR(10), dbo.address_link.start_date, 101), '/', '')  AS [Network TIN/Service Location Effective Date]
       ,REPLACE(CONVERT (VARCHAR(10), dbo.address_link.end_date, 101), '/', '') AS [Network TIN/Service Location Term Date]
       ,CAST(udf.user_field_data_26 AS DATE) AS [Original Credential Date]
       ,CAST(udf.user_field_data_27 AS DATE) AS [Recredential Date]

       ,(CASE WHEN udf.user_field_data_21 = udf.user_field_data_26
             THEN ''
             ELSE  CAST(udf.user_field_data_21 AS DATE)
         END) AS [Most Recent Recredentialing Date] 
       ,NULL AS [PEARL-HAMP Provider?]


       ,company.company_code 
       ,company.description



       ,dbo.address.additional_loc
       ,dbr_addr.db_record_id AS db_record_id_addr
       ,dbo.provider.external_provider_id,  dbo.db_record.active_flag,dbo.provider.provider_type

       ,dbo.provider.provider_identity

       ,db_record.db_record_id
       ,db_record.key1
       ,db_record.linking_id
       ,db_record.record_template_library_identity
       ,db_record.calling_db_record_id
       ,db_record.parent_db_record_id

       ,t2.db_record_id_parent
       ,t2.provider_identity

FROM    dbo.provider 
LEFT OUTER JOIN dbo.db_record 
             ON dbo.provider.provider_identity = dbo.db_record.key1 
            AND dbo.db_record.table_code = 'PROV' 

-- For Group provider data (Billing Address fields) joining to a regular Provider record
LEFT OUTER JOIN [#Temp_Group] AS t2
             ON t2.db_record_id_child = dbo.db_record.db_record_id

-- Next 3 Joins needed to access company.company_code and to pull MP records (Dental Master Plan)
LEFT OUTER JOIN dbo.provider_affiliation praf
             ON praf.db_record_id_child = dbo.db_record.db_record_id
LEFT OUTER JOIN dbo.db_record AS dbr_parent 
             ON praf.db_record_id_parent = dbr_parent.db_record_id  
LEFT OUTER JOIN company 
             ON dbr_parent.key1 = company.company_identity 

-- For 'Accepting New Patients' and 'Directory Print' Flags code (Found on the Provider Network tab in Acuity)           
LEFT OUTER JOIN v_provider_network_affiliation vpna
             ON vpna.key2 = dbo.provider.provider_identity
            AND vpna.key1 = '280'
LEFT OUTER JOIN user_field_data AS udf2
             ON udf2.table_code='PRNW' 
            AND udf2.key1=vpna.provider_affiliation_identity 


--Service Address fields (Regular provider records level)
LEFT OUTER JOIN dbo.address_link 
             ON dbo.db_record.db_record_id = dbo.address_link.db_record_id 
            AND dbo.address_link.order_no = 1 
LEFT OUTER JOIN dbo.address 
             ON dbo.address_link.address_identity = dbo.address.address_identity 
LEFT OUTER JOIN dbo.db_record AS dbr_addr 
             ON dbo.address.address_identity = dbr_addr.key1 
            AND dbr_addr.table_code = 'ADDR' 
LEFT OUTER JOIN dbo.state 
             ON dbo.address.state_identity = dbo.state.state_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_country 
             ON dbo.address.country_identity = rr_country.reason_reference_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_region 
             ON dbo.address.region_identity = rr_region.reason_reference_identity 
LEFT OUTER JOIN dbo.telephony_link 
             ON dbo.db_record.db_record_id = dbo.telephony_link.db_record_id 
            AND dbo.telephony_link.order_no = 1 
LEFT OUTER JOIN dbo.telephony 
             ON dbo.telephony_link.telephony_identity = dbo.telephony.telephony_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_fax 
             ON rr_fax.reason_code = 'FAX' 
            AND rr_fax.reason_type = 'TT' 
LEFT OUTER JOIN dbo.telephony_link AS fax_tell 
             ON dbo.db_record.db_record_id = fax_tell.db_record_id 
            AND fax_tell.telephony_type_identity = rr_fax.reason_reference_identity 
            AND fax_tell.order_no = (SELECT  MIN(order_no) AS Expr1
                                       FROM  dbo.telephony_link AS fl
                                       WHERE (db_record_id = dbo.db_record.db_record_id) 
                                         AND (telephony_type_identity = rr_fax.reason_reference_identity)) 
LEFT OUTER JOIN dbo.telephony AS fax_tele 
             ON fax_tell.telephony_identity = fax_tele.telephony_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_telephony 
             ON dbo.telephony_link.telephony_type_identity = rr_telephony.reason_reference_identity 
LEFT OUTER JOIN dbo.provider_language 
             ON dbo.provider_language.provider_identity = dbo.provider.provider_identity 
            AND dbo.provider_language.order_no = 1 
LEFT OUTER JOIN dbo.users AS u_entry 
             ON dbo.provider.entry_by = u_entry.user_identity 
LEFT OUTER JOIN dbo.users AS u_mod 
             ON dbo.provider.mod_by = u_mod.user_identity 
LEFT OUTER JOIN dbo.reason_reference AS rr_l 
             ON dbo.provider_language.language_identity = rr_l.reason_reference_identity 
LEFT OUTER JOIN dbo.person_name 
             ON dbo.provider.person_identity = dbo.person_name.person_identity 
            AND dbo.person_name.order_no = 1 
LEFT OUTER JOIN dbo.person 
             ON dbo.person.person_identity = dbo.provider.person_identity 
LEFT OUTER JOIN dbo.person_id_key 
             ON dbo.person_id_key.person_identity = dbo.person.person_identity 
            AND dbo.person_id_key.order_no = 1 
LEFT OUTER JOIN dbo.id_key_type 
             ON dbo.id_key_type.id_key_type_identity = dbo.person_id_key.id_key_type_identity
LEFT OUTER JOIN dbo.user_field_data udf 
             ON provider.provider_identity = udf.key1 
            AND udf.table_code = 'PROV'
LEFT OUTER JOIN dbo.provider_taxonomy prvt 
             ON prvt.provider_identity = dbo.provider.provider_identity
INNER JOIN dbo.taxonomy tax 
        ON tax.taxonomy_identity = prvt.taxonomy_identity

-- For Hospital Affil. Name
LEFT OUTER JOIN v_provider_privilege_affiliation AS vppa
             ON vppa.provider2_identity = dbo.provider.provider_identity

-- For License State of Issue
LEFT OUTER JOIN v_provider_license AS vpl
             ON vpl.provider_identity = dbo.provider.provider_identity




WHERE dbo.db_record.active_flag = 'Y'
    AND company.company_code in ('Prestige', '114', '115', '148', '181')

ORDER BY dbo.provider.NPI
dbr_addr.db_record_id AS db_record_id_addr
db_record_id_addr = dbr_addr.db_record_id