Senior Research Programmer/Analyst Pharmacoepidemiology
for section headings (About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)
2. Use - for lists,
for prose
3. Do NOT repeat job title as heading
4. Do NOT put Job ID/requisition numbers as headings - fold minor metadata into short
or drop
5. Preserve ALL substantive information
6. Remove boilerplate (cookie/navigation/legal/EEO/equal-opportunity/scam-warning, duplicated lines, application instructions)
7. Include section ONLY when posting has real, specific content - never emit heading followed by filler/placeholder text
8. Never create Pay/Schedule/Benefits sections unless posting actually states them
9. Prefer few substantive sections over many thin ones
10. Output ONLY HTML fragment - no /, no markdown code fences
Let me analyze the job posting content:
- There's an introductory paragraph about Mass General Brigham (boilerplate-ish but describes the organization)
- Job Summary / General Summary/Overview Statement - this is "About the role"
- Principal Duties And Responsibilities - this is "Responsibilities"
- Qualifications - this is "Qualifications" or "Requirements"
- Skills/Abilities/Competencies Required - this is "Skills"
- Additional Desired Skills - could be part of Skills or separate
- Additional Job Details - contains Remote Type, Work Location, Scheduled Weekly Hours, Employee Type, Work Shift, Pay Range, Grade - this gives Schedule, Pay, Location info
- EEO Statement - boilerplate, remove
- Mass General Brigham Competency Framework - boilerplate, remove
I need to create sections only where there's real content. Let me map:
1. About the role - from Job Summary
2. Responsibilities - from Principal Duties
3. Qualifications - from Qualifications section
4. Skills - from Skills/Abilities/Competencies Required and Additional Desired Skills
5. Schedule - from Additional Job Details (Scheduled Weekly Hours, Work Shift, Remote Type)
6. Pay - from Additional Job Details (Pay Range, Grade)
7. Location - from Additional Job Details (Work Location)
The user said to use specific heading names: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. I should use these exact headings where appropriate.
Note: "Requirements" and "Qualifications" might be similar. The posting has "Qualifications" section and "Skills/Abilities/Competencies Required". I could combine or separate. The rules say use
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So I can use both Requirements and Qualifications if they're distinct. Here, Qualifications is about education/experience, Skills is about abilities. I'll use Qualifications for the education/experience part, and Skills for the competencies.
Also, the Additional Job Details has Pay Range, so I should include Pay section. Schedule section for hours/shift/remote. Location could be part of Schedule or separate. The rules don't list "Location" as a heading example, but "Schedule" is. I'll include location in Schedule or as a short p.
The posting mentions "comprehensive benefits" but doesn't list specific benefits. The rules say never create Benefits section unless posting actually states them. It says "we offer comprehensive benefits" but no details. So I should NOT create a Benefits section.
Now, let me structure the HTML.
First, a short p for the organization context? The first paragraph is about Mass General Brigham. It's not boilerplate exactly, but it's organizational description. I could include it as a brief intro p before sections.
But the rules say "Do NOT repeat the job title as a heading (the page already shows it)". The job title isn't shown in the text provided, but presumably the page has it. I'll not include title.
I'll start with a
for the organizational mission statement, then sections.
Let me write the HTML.
I need to be careful: preserve ALL substantive information. So include all bullet points, all details.
For Qualifications: list the degree requirements, experience, SAS proficiency, R/Python, SQL, healthcare data experience.
For Skills: list the required skills and additional desired skills.
For Responsibilities: list the principal duties.
For About the role: the job summary paragraph.
For Schedule: include hybrid, location, 40 hours, day shift.
For Pay: include pay range and grade.
Now, the Additional Job Details also has "Employee Type Regular" - could be in Schedule or separate. I'll include in Schedule.
The "Grade 7" is part of pay.
Now, write HTML.
I'll use
for each section heading.
Let me draft:
Mass General Brigham relies on a wide range of professionals, including doctors, nurses, business people, tech experts, researchers, and systems analysts to advance our mission. As a not-for-profit, we support patient care, research, teaching, and community service, striving to provide exceptional care. We believe that high-performing teams drive groundbreaking medical discoveries and invite all applicants to join us and experience what it means to be part of Mass General Brigham.
About the role
The Division of Pharmacoepidemiology and Pharmacoeconomics at Brigham and Women’s Hospital and Harvard Medical School was created to facilitate a wide range of activities related to the use and outcomes of medications. Its mission is to bring together medicine, epidemiology, biostatistics, health services research, data science, and related disciplines to evaluate the benefits, risks, utilization, and costs of existing and new prescription medications and to develop methods to optimize medication use. The Senior Research Programmer/Analyst will support this mission as part of a highly collaborative multidisciplinary research environment comprising approximately 30 Harvard Medical School faculty members and 80 research and administrative staff, including a team of experienced research programmers/analysts. The Division’s research makes extensive use of large and complex real-world healthcare data, including longitudinal health insurance claims and electronic health records, as well as data from surveys and randomized trials. The Senior Research Programmer/Analyst will have the opportunity to work closely with epidemiologists, biostatisticians, clinicians, and other quantitative researchers to translate scientific questions into reproducible analytic datasets and analyses. The Division uses a range of programming languages and computational tools to work with large-scale, complex healthcare data, with SAS serving as a core programming language and R and Python used in complementary applications across our research portfolio. Because a substantial body of our established analytic infrastructure is built in SAS, advanced SAS expertise is essential for this position, while proficiency in R and/or Python is strongly valued. We encourage the use of modern, efficient, and reproducible approaches to data analysis and welcome candidates who bring strong computational skills and can contribute to the continued evolution of programming practices across languages and platforms.
Responsibilities
- Support faculty and other research staff in the development of analytic datasets and the conduct of statistical analyses for pharmacoepidemiologic, health services, and related research.
- Develop, validate, manage, analyze, and document large and complex healthcare datasets, including longitudinal health insurance claims and electronic health record data.
- Translate research questions and study protocols into efficient and reproducible programming workflows, including data cleaning, transformation, linkage, cohort construction, variable creation, and statistical analysis.
- Apply programming best practices, including systematic quality control, code review, version control, modular and reusable programming, and clear documentation to support reproducibility and collaboration.
- Contribute to the Division’s programming and research-computing environment across SAS, R, Python, SQL, and related tools, including identifying opportunities to improve workflows, computational efficiency, and reusable infrastructure.
- Collaborate closely with faculty and research staff across multiple ongoing and new research projects.
- Participate in programmer/analyst team meetings, mentor junior programmers/analysts, and serve as a technical resource to other members of the research team.
Qualifications
- Bachelor’s degree in computer science, data science, statistics, biostatistics, epidemiology, biomedical informatics, mathematics, engineering, or another relevant quantitative field required; Master’s degree preferred.
- At least 3 years of relevant programming and data-analysis experience required; 5 or more years of experience in a healthcare, research, or similarly data-intensive environment preferred.
- Advanced proficiency in SAS required, including substantial experience with data management and analysis of large datasets.
- Proficiency in R and/or Python strongly preferred.
- Experience with SQL and relational databases strongly preferred.
- Experience working with large, complex, longitudinal datasets required; experience with healthcare claims and/or electronic health record data strongly preferred.
Skills
- Strong programming and problem-solving skills, with careful attention to accuracy, reproducibility, and quality control.
- Ability to manage and prioritize multiple concurrent research projects.
- Experience working in Linux/Unix-based command-line environments and remote computing systems.
- Experience with version-control systems such as Git/GitHub or similar platforms.
- Ability to work effectively in multidisciplinary research teams and communicate technical concepts clearly to both technical and non-technical collaborators.
Additional desired skills
- Experience developing reusable, efficient, and reproducible data-processing or analytic workflows for large datasets.
- Familiarity with high-performance, cloud-based, or distributed computing environments and modern software development practices.
- Knowledge of epidemiologic and biostatistical methods and/or experience with emerging computational approaches, including machine learning and AI-enabled research tools.
Schedule
Hybrid work arrangement. Work location: 399 Revolution Drive. Scheduled weekly hours: 40. Employee type: Regular. Work shift: Day (United States of America).
Pay
Pay range: $79,560.00 - $115,720.80 per annual. Grade 7. Base pay is determined comprehensively based on skills, relevant experience, education, certifications, and other essential factors. The range provided is an estimate based on minimum job qualifications and does not encompass all elements of total compensation, which may include differentials, premiums, bonuses, and recognition programs as applicable.
I should not include EEO or competency framework.
Check rules: "Do NOT put Job ID / requisition numbers as headings — fold minor metadata into a short or drop it." There's "2200" in EEO statement, but that's part of EEO. I'll drop.
"Remove cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, and application instructions." I removed EEO and competency framework.
"Preserve ALL substantive information; do NOT invent or summarize away detail." I kept all details.
"Include a section ONLY when the posting has real, specific content for it — never emit a heading followed by filler/placeholder text" - I have content for each.
"Never create Pay/Schedule/Benefits sections unless the posting actually states them." Posting states pay range and schedule details, so I included.
"Prefer a few substantive sections over many thin ones." I have 7 sections, but all substantive.
The user said "use
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." I used "About the role", "Responsibilities", "Qualifications", "Skills", "Additional desired skills", "Schedule", "Pay". I didn't use "Requirements" separately; I used Qual
for prose 3. Do NOT repeat job title as heading 4. Do NOT put Job ID/requisition numbers as headings - fold minor metadata into short
or drop 5. Preserve ALL substantive information 6. Remove boilerplate (cookie/navigation/legal/EEO/equal-opportunity/scam-warning, duplicated lines, application instructions) 7. Include section ONLY when posting has real, specific content - never emit heading followed by filler/placeholder text 8. Never create Pay/Schedule/Benefits sections unless posting actually states them 9. Prefer few substantive sections over many thin ones 10. Output ONLY HTML fragment - no /, no markdown code fences Let me analyze the job posting content: - There's an introductory paragraph about Mass General Brigham (boilerplate-ish but describes the organization) - Job Summary / General Summary/Overview Statement - this is "About the role" - Principal Duties And Responsibilities - this is "Responsibilities" - Qualifications - this is "Qualifications" or "Requirements" - Skills/Abilities/Competencies Required - this is "Skills" - Additional Desired Skills - could be part of Skills or separate - Additional Job Details - contains Remote Type, Work Location, Scheduled Weekly Hours, Employee Type, Work Shift, Pay Range, Grade - this gives Schedule, Pay, Location info - EEO Statement - boilerplate, remove - Mass General Brigham Competency Framework - boilerplate, remove I need to create sections only where there's real content. Let me map: 1. About the role - from Job Summary 2. Responsibilities - from Principal Duties 3. Qualifications - from Qualifications section 4. Skills - from Skills/Abilities/Competencies Required and Additional Desired Skills 5. Schedule - from Additional Job Details (Scheduled Weekly Hours, Work Shift, Remote Type) 6. Pay - from Additional Job Details (Pay Range, Grade) 7. Location - from Additional Job Details (Work Location) The user said to use specific heading names: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. I should use these exact headings where appropriate. Note: "Requirements" and "Qualifications" might be similar. The posting has "Qualifications" section and "Skills/Abilities/Competencies Required". I could combine or separate. The rules say use
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So I can use both Requirements and Qualifications if they're distinct. Here, Qualifications is about education/experience, Skills is about abilities. I'll use Qualifications for the education/experience part, and Skills for the competencies. Also, the Additional Job Details has Pay Range, so I should include Pay section. Schedule section for hours/shift/remote. Location could be part of Schedule or separate. The rules don't list "Location" as a heading example, but "Schedule" is. I'll include location in Schedule or as a short p. The posting mentions "comprehensive benefits" but doesn't list specific benefits. The rules say never create Benefits section unless posting actually states them. It says "we offer comprehensive benefits" but no details. So I should NOT create a Benefits section. Now, let me structure the HTML. First, a short p for the organization context? The first paragraph is about Mass General Brigham. It's not boilerplate exactly, but it's organizational description. I could include it as a brief intro p before sections. But the rules say "Do NOT repeat the job title as a heading (the page already shows it)". The job title isn't shown in the text provided, but presumably the page has it. I'll not include title. I'll start with a
for the organizational mission statement, then sections. Let me write the HTML. I need to be careful: preserve ALL substantive information. So include all bullet points, all details. For Qualifications: list the degree requirements, experience, SAS proficiency, R/Python, SQL, healthcare data experience. For Skills: list the required skills and additional desired skills. For Responsibilities: list the principal duties. For About the role: the job summary paragraph. For Schedule: include hybrid, location, 40 hours, day shift. For Pay: include pay range and grade. Now, the Additional Job Details also has "Employee Type Regular" - could be in Schedule or separate. I'll include in Schedule. The "Grade 7" is part of pay. Now, write HTML. I'll use
for each section heading. Let me draft:
Mass General Brigham relies on a wide range of professionals, including doctors, nurses, business people, tech experts, researchers, and systems analysts to advance our mission. As a not-for-profit, we support patient care, research, teaching, and community service, striving to provide exceptional care. We believe that high-performing teams drive groundbreaking medical discoveries and invite all applicants to join us and experience what it means to be part of Mass General Brigham.
About the role
The Division of Pharmacoepidemiology and Pharmacoeconomics at Brigham and Women’s Hospital and Harvard Medical School was created to facilitate a wide range of activities related to the use and outcomes of medications. Its mission is to bring together medicine, epidemiology, biostatistics, health services research, data science, and related disciplines to evaluate the benefits, risks, utilization, and costs of existing and new prescription medications and to develop methods to optimize medication use. The Senior Research Programmer/Analyst will support this mission as part of a highly collaborative multidisciplinary research environment comprising approximately 30 Harvard Medical School faculty members and 80 research and administrative staff, including a team of experienced research programmers/analysts. The Division’s research makes extensive use of large and complex real-world healthcare data, including longitudinal health insurance claims and electronic health records, as well as data from surveys and randomized trials. The Senior Research Programmer/Analyst will have the opportunity to work closely with epidemiologists, biostatisticians, clinicians, and other quantitative researchers to translate scientific questions into reproducible analytic datasets and analyses. The Division uses a range of programming languages and computational tools to work with large-scale, complex healthcare data, with SAS serving as a core programming language and R and Python used in complementary applications across our research portfolio. Because a substantial body of our established analytic infrastructure is built in SAS, advanced SAS expertise is essential for this position, while proficiency in R and/or Python is strongly valued. We encourage the use of modern, efficient, and reproducible approaches to data analysis and welcome candidates who bring strong computational skills and can contribute to the continued evolution of programming practices across languages and platforms.
Responsibilities
- Support faculty and other research staff in the development of analytic datasets and the conduct of statistical analyses for pharmacoepidemiologic, health services, and related research.
- Develop, validate, manage, analyze, and document large and complex healthcare datasets, including longitudinal health insurance claims and electronic health record data.
- Translate research questions and study protocols into efficient and reproducible programming workflows, including data cleaning, transformation, linkage, cohort construction, variable creation, and statistical analysis.
- Apply programming best practices, including systematic quality control, code review, version control, modular and reusable programming, and clear documentation to support reproducibility and collaboration.
- Contribute to the Division’s programming and research-computing environment across SAS, R, Python, SQL, and related tools, including identifying opportunities to improve workflows, computational efficiency, and reusable infrastructure.
- Collaborate closely with faculty and research staff across multiple ongoing and new research projects.
- Participate in programmer/analyst team meetings, mentor junior programmers/analysts, and serve as a technical resource to other members of the research team.
Qualifications
- Bachelor’s degree in computer science, data science, statistics, biostatistics, epidemiology, biomedical informatics, mathematics, engineering, or another relevant quantitative field required; Master’s degree preferred.
- At least 3 years of relevant programming and data-analysis experience required; 5 or more years of experience in a healthcare, research, or similarly data-intensive environment preferred.
- Advanced proficiency in SAS required, including substantial experience with data management and analysis of large datasets.
- Proficiency in R and/or Python strongly preferred.
- Experience with SQL and relational databases strongly preferred.
- Experience working with large, complex, longitudinal datasets required; experience with healthcare claims and/or electronic health record data strongly preferred.
Skills
- Strong programming and problem-solving skills, with careful attention to accuracy, reproducibility, and quality control.
- Ability to manage and prioritize multiple concurrent research projects.
- Experience working in Linux/Unix-based command-line environments and remote computing systems.
- Experience with version-control systems such as Git/GitHub or similar platforms.
- Ability to work effectively in multidisciplinary research teams and communicate technical concepts clearly to both technical and non-technical collaborators.
Additional desired skills
- Experience developing reusable, efficient, and reproducible data-processing or analytic workflows for large datasets.
- Familiarity with high-performance, cloud-based, or distributed computing environments and modern software development practices.
- Knowledge of epidemiologic and biostatistical methods and/or experience with emerging computational approaches, including machine learning and AI-enabled research tools.
Schedule
Hybrid work arrangement. Work location: 399 Revolution Drive. Scheduled weekly hours: 40. Employee type: Regular. Work shift: Day (United States of America).
Pay
Pay range: $79,560.00 - $115,720.80 per annual. Grade 7. Base pay is determined comprehensively based on skills, relevant experience, education, certifications, and other essential factors. The range provided is an estimate based on minimum job qualifications and does not encompass all elements of total compensation, which may include differentials, premiums, bonuses, and recognition programs as applicable.
I should not include EEO or competency framework. Check rules: "Do NOT put Job ID / requisition numbers as headings — fold minor metadata into a shortor drop it." There's "2200" in EEO statement, but that's part of EEO. I'll drop. "Remove cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, and application instructions." I removed EEO and competency framework. "Preserve ALL substantive information; do NOT invent or summarize away detail." I kept all details. "Include a section ONLY when the posting has real, specific content for it — never emit a heading followed by filler/placeholder text" - I have content for each. "Never create Pay/Schedule/Benefits sections unless the posting actually states them." Posting states pay range and schedule details, so I included. "Prefer a few substantive sections over many thin ones." I have 7 sections, but all substantive. The user said "use