Development Standards Template for BIDB03 / SE1TEEDPDB01
Below is an example of our Job Script template:
Below is also an example of our Implementation Plan Template, a tab for eDP
script deployments and another for ETL job deployments:
All Extract ETL processes should be named like “Load VendorName typeOfFile”.
VendorName: The name of the vendor. Please don’t use abbreviations.
typeOfFile is what type of data (Claims, Member, Provider) and description
of Frequency.
Only use frequency if needed to separate from another extract for the
same vendor. For example: Extract RxAnte Weekly and Extract RxAnte
Monthly. These RxAnte extracts contain different sets of files, pulled at
different frequencies.
Example:
o Folder Name: Extract Kaiser Assessment Detail
o Solution Name: Extract Kaiser Assessment Detail.sln
o Project Name: Extract Kaiser Assessment Detail
o Package Name: Extract Kaiser Assessment Detail.dtsx
o Job Name: SHP Extract Kaiser Assessment Detail
All SSIS components should have descriptive names. Include prefixes to denote
type of component:
SQL – Execute SQL Task
DFT – Data Flow Task
MAIL – Email Notification
SEQ – Sequence container
SRC – Source in DFT
DST – Destination in DFT
SCR – Script Task
FST – File System Task
EXP - Expression Task
For Each Loop/For Each {Type} File
DC - Data Conversion
CS - Conditional Split
MC – Multicast
DRV - Derived Column
FFC - flat file connection manager
EDP
SMTP Sentara
SQL Jobs
SQL Jobs should be named to match the SSIS solution or package name as
appropriate. Therefore, most SQL Jobs will be named like “Load %”.
Exceptions to this are combined jobs that run a Load and Extract in the
same job (are dependent on each other).
Create a new SSIS Solution in Visual Studio
Preferably, a solution should only contain one project and one package.
Solutions can have one or more SSIS packages, but multiple packages should
share new project parameters or be very similar, such as a Monthly and
Weekly file. If you think combining packages into one solution is the right fit
for your task, please reach out to a Team leader to discuss before you start
development.
Example, the following are the reconfigured Jiva jobs:
o Load JIVA SHP AUTH SERVICE
o Load JIVA SHP CLIENTS
o Load JIVA SHP CODE TABLES
o Load JIVA SHP EMPLOYERS
o Load JIVA SHP EPISODES
o Load JIVA SHP GROUPS
o Load JIVA SHP MASTER
o Load JIVA SHP MEMBERS
o Load JIVA SHP PROVIDERS
o Load JIVA SHP USER
Environment variables are used to manage configuration items that can be
different between different environments. New Environmental variables should
only be created if they will be used in most packages.
If you need to add a new Environmental variable, please discuss with a Team
Coordinator first.
Environmental Variables:
i. ConnEDP
ii. ConnEDP_PW
iii. ConnDB04
iv. DirSHPSharePath (for files dropping on
v. EmailETLSupport
vi. Environment
vii. SMTPSentara
Project And Package Parameters
Project parameters are the parameters you will map to environmental
variables. If you need to add additional parameters, they should be package
parameters.
Package Parameters are the parameters that are not shared between
multiple packages, but you think they are likely to change in the future.
Creating these as package parameters means they can be changed at the job
level avoiding a code change and redeployment.
Some examples of common package parameters:
NumMonths
Program Id
EmailToUsers This parameter can be moved to a project parameter if
your package is part of a project with multiple packages. If there is no
requirement to send an email to the business, then this parameter is
not required.
File drop off/pick up folders. Check with BSA that new folders have been
created as needed under:
The File connection manager will use an expression that concatenates two
variables: @DestinationPath + @FileName.
o @DestinationPath = @[$Project::DirSHPSharePath] +"shp" +
LOWER(@[$Project::Environment])+ "\\SHPEDPDataFiles"+"\\
PointClickCare\\Extracts\\Eligibilty\\"
o @FileName will be specific to your requirements. Here is an example
that appends the date to the end. "PointClickCare_Medical_"
+SUBSTRING((DT_WSTR, 30)getdate(),6,2)+SUBSTRING((DT_WSTR,
30)getdate(), 9,2)+SUBSTRING((DT_WSTR,30)getdate(), 1,4) + ".txt"
Deployment Script, Job Script, and Implementation Plan
Create a Release folder using your ServiceNow Release Number
Include all scripts related to the deployment including SSIS deployment,
Environment variable mapping, SQL Job creation.
SQL JOB
o Job categories should be set to “Export Data” or “Import Data”. SHP
Export Data/SHP Import Data.
o Job owner should be set to the SQL Server Agent service account:
o Production: _____________________
o QA: _____________________
o Set the “Run as” to the proxy account. It is the same on Prod and UAT:
o All jobs should be deployed to:
Prod: ______________________
UAT: _____________________
o Under the HealthPlanSHP folder.
Deployment & Job Script Template.
Include a ROLLBACK subfolder with any scripts needed to roll back a
deployment (named with the RLSE #.
Include the RLSE # (or INC #) and comments in the notes for all check-ins to
source control.
Do not save mapping documents, or requirements documentation they will be
saved in Teams/Confluence.
After Code review is complete use the implementation plan template to
create your plan for deployment.
Save Implementation Plan under Release# folder. For more information on
deployment instructions please see the Deployment documentation.
Post Implementation Validation
Confirm any environment or package variables (like NumMonths%)
When possible, you should run your extract immediately after deployment for
validation
Immediately reply to any notification emails to let the On-Call developer know
you are looking into the issue. If no email was sent reach out to the on-call
developer directly