Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better study #65

Open
wants to merge 51 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
89df649
Updated to newer version of 4
torstees May 31, 2023
b33673e
Switched Study Participant code to NCIT for convenience
torstees May 31, 2023
a49d9a5
Added Consortium Profile
torstees May 31, 2023
fcc8ea1
Further refinements to research study with better examples
torstees Jun 9, 2023
748f9a7
Update continuous_integration.yml
torstees Jun 9, 2023
9a9b28a
Update continuous_integration.yml
torstees Jun 12, 2023
90b0daf
Update continuous_integration.yml
torstees Jun 12, 2023
e43b7c4
Update continuous_integration.yml
torstees Jun 12, 2023
97e937e
Update continuous_integration.yml
torstees Jun 12, 2023
883e843
Added term to support examples
torstees Jun 12, 2023
e38c098
Migrated to Ubuntu 22-04 and Java 11 to overcome jackyll errors
torstees Jun 12, 2023
79abb2e
Remove bad test fix that prevented CI from working
torstees Jun 12, 2023
7a8ae36
Remove bad test fix that prevented CI from working
torstees Jun 12, 2023
615724c
moved the consent codes to be separate codings
torstees Jun 12, 2023
33b46d5
Initial content for ResearchStudyConsent pages
torstees Jun 12, 2023
8ed99f9
Stubs for page content for ResearchStudySubject
torstees Jun 12, 2023
e7eb5e8
A bit more information about the research study subject resource
torstees Jun 12, 2023
f0be3d4
Refactor CMG Consent examples to use provision instead of category
torstees Jun 13, 2023
ba92984
Add the URN for Mesh as DbGAP has it
torstees Jun 19, 2023
7784b82
Add term used by one of the CMG disease restrictions
torstees Jun 19, 2023
3b8994c
Fixed code systems to eliminate some errors in publisher's qa report
torstees Jun 19, 2023
5fac62f
Add term used by one of the CMG disease restrictions
torstees Jun 19, 2023
407d71f
Refinements to include changing disease restrictions to codes
torstees Jun 19, 2023
baa0bd3
Study VS needed for example in the disease use limitation extension
torstees Jun 19, 2023
60170e2
Rename to eliminate some publisher.jar errors
torstees Jun 19, 2023
d4ffd48
Added note about R4/R5 versions that can be later expanded to include…
torstees Jun 26, 2023
bb67cf0
Cleanup and light revision
torstees Jun 26, 2023
e5c9029
Added constraint to require extension when using DS code
torstees Jun 28, 2023
00537b1
Additional refinement to the NCPI Research Study Profile page docs
torstees Jun 28, 2023
791cc16
A bit more clarification around accession ID
torstees Jul 20, 2023
08a8cf0
Further refinement of the language present on structure-definition pages
torstees Jul 20, 2023
a4bc782
Update study notes to clarify relationship with study and study group
torstees Jul 24, 2023
aa22326
Added first pass of studyDesign extension
torstees Jul 31, 2023
138f7ac
Added tables to clarify mappings
torstees Jul 31, 2023
21402e7
Force install to be sushi 2.10 since the current version is 3 which i…
torstees Aug 1, 2023
bed07c6
Trying to stay within 2 but getting the most recent minor version.
torstees Aug 1, 2023
ad5d3ea
Added extension for studyDesign codes and example usage
torstees Aug 2, 2023
df5cfdb
First pass at the research study example content
torstees Aug 18, 2023
8db07e5
Moved Examples out into their own menu
torstees Aug 18, 2023
4eabcde
Proper header numbers to get picked up by table of content
torstees Aug 18, 2023
920873d
Added details about the logical Common Data Model Study
torstees Aug 21, 2023
e7a8741
Added displays to the terms for clarity
torstees Aug 21, 2023
44d895e
Additional content
torstees Aug 21, 2023
7fb783a
First pass at general example overview of research study
torstees Aug 23, 2023
810b04b
First pass at general example overview of research study
torstees Aug 23, 2023
456f225
Additional refinements
torstees Aug 23, 2023
503021f
Trying v4.3.0 to see if it will enable validation on HAPI 4.3
torstees Oct 26, 2023
1928554
Adding an extra 'column' to verify our Phenotype profile works as des…
torstees Mar 4, 2024
80c26e4
Sliced Phenotypes to permit other codes in addition to those supporte…
torstees Mar 4, 2024
6091cad
'Officially' switched to 4.3.0B
torstees Mar 4, 2024
eab49e7
Merge branch 'better-study' of https://github.com/NIH-NCPI/ncpi-fhir-…
torstees Mar 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/continuous_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
validate:
name: Validate Implementation Guide
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [10, 12]
Expand All @@ -19,7 +19,7 @@ jobs:
- name: Set up OpenJDK
uses: actions/setup-java@v1
with:
java-version: 8
java-version: 11

- name: Set up Jekyll
run: |
Expand All @@ -34,7 +34,7 @@ jobs:

- name: Install SUSHI and add FSH definitions
run: |
npm install -g fsh-sushi
npm install -g fsh-sushi@^2.10.2
sushi .

- name: Update IG publisher
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ on:
jobs:
publish:
name: 📝 Preview Implementation Guide
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: 👩‍💻 Checkout code
uses: actions/checkout@v3

- name: 🛠 Set up OpenJDK
uses: actions/setup-java@v1
with:
java-version: 8
java-version: 11

- name: 🛠 Set up Jekyll
run: |
Expand All @@ -30,7 +30,7 @@ jobs:

- name: 🛠 Install SUSHI and add FSH definitions
run: |
npm install -g fsh-sushi
npm install -g fsh-sushi@^2.10.2
sushi .

- name: ⬆️ Update IG publisher
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
publish:
name: Publish Implementation Guide
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [10, 12]
Expand All @@ -21,7 +21,7 @@ jobs:
- name: Set up OpenJDK
uses: actions/setup-java@v1
with:
java-version: 8
java-version: 11

- name: Set up Jekyll
run: |
Expand All @@ -36,7 +36,7 @@ jobs:

- name: Install SUSHI and add FSH definitions
run: |
npm install -g fsh-sushi
npm install -g fsh-sushi@^2.10.2
sushi .

- name: Update IG publisher
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
release:
if: github.event.pull_request.merged && contains(github.event.pull_request.labels.*.name, 'release')
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Manual workaround for Github not having a runtime macro to check for the default branch
id: gatekeeper
Expand Down
5 changes: 5 additions & 0 deletions input/fsh/Alias.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation
Alias: $refseq = http://www.ncbi.nlm.nih.gov/refseq
Alias: $varnomen = http://varnomen.hgvs.org
Alias: $umls = https://uts.nlm.nih.gov/uts/umls
Alias: $nihcc = https://nih-ncpi.github.io/ncpi-fhir-ig/CodeSystem/nih-consent
Alias: $studydesign = https://dbgap-api.ncbi.nlm.nih.gov/fhir/x1/CodeSystem/ResearchStudy-StudyDesign

// ValueSet
Alias: $v3-FamilyMember = http://terminology.hl7.org/ValueSet/v3-FamilyMember
Expand All @@ -58,6 +60,8 @@ Alias: $hpo = http://purl.obolibrary.org/obo/hp.owl
Alias: $omim = https://omim.org/
Alias: $mondo = http://purl.obolibrary.org/obo/mondo.owl

Alias: $mesh = urn:oid:2.16.840.1.113883.6.177

// ValueSet
Alias: $disease-codes = http://fhir.ncpi-project-forge.io/ValueSet/disease-codes
Alias: $phenotype-codes = http://fhir.ncpi-project-forge.io/ValueSet/phenotype-codes
Expand All @@ -67,4 +71,5 @@ Alias: $condition-interitanc-codes = http://fhir.ncpi-project-forge.io/ValueSet/
// NCPI Observations
Alias: $ncpi = https://nih-ncpi.github.io/ncpi-fhir-ig/CodeSystem/ncpi
Alias: $ncpi_datatypes = https://nih-ncpi.github.io/ncpi-fhir-ig/CodeSystem/ncpi-data-types
Alias: $ncpi-study-types = https://nih-ncpi.github.io/ncpi-fhir-ig/CodeSystem/ncpi-study-types
Alias: $ucum = http://unitsofmeasure.org
25 changes: 25 additions & 0 deletions input/fsh/CodeSystem-DbGAPStudyDesign.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CodeSystem: DbGapStudyDesign
Id: dbgap-study-design
Title: "dbGaP Study Design"
Description: "StudyDesign codes from dbGaP FHIR Service pulled Aug 2023."
* ^url = $studydesign
* ^status = #draft
* ^experimental = false
* ^caseSensitive = true
* ^content = #fragment
* ^count = 15
* #Case-Set "Case Set"
* #Case-Control "Case-Control"
* #Clinical-Genetic-Testing "Clinical Genetic Testing"
* #Clinical-Trial "Clinical Trial"
* #Collection "Collection"
* #Control-Set "Control Set"
* #Cross-Sectional "Cross-Sectional"
* #Family/Twin/Trios "Family/Twin/Trios"
* #Interventional "Interventional"
* #Mendelian "Mendelian"
* #Metagenomics "Metagenomics"
* #Methods "Methods"
* #Prospective-Longitudinal-Cohort "Prospective Longitudinal Cohort"
* #Tumor-vs-Matched-Normal "Tumor vs. Matched-Normal"
* #Xenograft "Xenograft"
2 changes: 2 additions & 0 deletions input/fsh/CodeSystem-HPO.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -1913,3 +1913,5 @@ Description: "The Human Phenotype Ontology (HPO) provides a standardized vocabul
* #HP:0006808 "Cerebral hypomyelination"
* #HP:0002926 "Abnormality of thyroid physiology"
* #HP:0007970 "Congenital ptosis"
* #HP:0030853 "Heterotaxy"
* #HP:0010772 "Anomalous pulmonary venous return"
2 changes: 1 addition & 1 deletion input/fsh/CodeSystem-LoincAnswers.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CodeSystem: LoincAnswers
Id: loinc-answers
Title: "LOINC Answers"
Description: "LOINC ANSWERS used by NCPI resources"
* ^url = "ncpi:loinc-answers"
* ^url = "https://nih-ncpi.github.io/ncpi-fhir-ig/CodeSystem/loinc-answers"
* ^status = #draft
* ^experimental = false
* ^caseSensitive = true
Expand Down
4 changes: 4 additions & 0 deletions input/fsh/CodeSystem-Mondo.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,7 @@ Description: "The Mondo Disease Ontology (Mondo) aims to harmonize disease defin
* #MONDO:0005072 "neuroblastoma"
* #MONDO:0002749 "extracranial neuroblastoma"
* #MONDO:0008542 "tetralogy of fallot"
* #MONDO:0016054 "cerebral malformation"
* #MONDO:0016033 "Cornelia de Lange syndrome"
* #MONDO:0007130 "congenital total pulmonary venous return anomaly"
* #MONDO:0017705 "congenital pulmonary venous return anomaly"
1 change: 1 addition & 0 deletions input/fsh/CodeSystem-NCIt.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ Description: "NCI Thesaurus (NCIt) provides reference terminology for many NCI a
* #C3270 "Neuroblastoma"
* #C5437 "Extracranial Neuroblastoma"
* #C84505 "Tetralogy of Fallot"
* #C142710 "Study Participant"
21 changes: 21 additions & 0 deletions input/fsh/CodeSystem-NcpiStudyTypes.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
CodeSystem: NcpiStudyType
Id: ncpi-study-type
Title: "NCPI Study Type"
Description: "Enumerated List of Research Study Types used in NCPI Funded studies."
* ^url = $ncpi-study-types
* ^version = "0.1.0"
* ^status = #active
* ^experimental = false
* ^publisher = "NCPI FHIR Works"
* ^content = #fragment
* #Family "Family"
* #Cohort "Cohort"
* #Mixed "Mixed"
* #Repository "Repository"
* #RNA-Sequencing "RNA Sequencing"
* #Parent-Offspring-Trios "Parent-Offspring Trios"
* #Cross-Sectional "Cross-Sectional"
* #Control-Set "Control Set"
* #Tumor-vs-Matched-Normal "Tumor vs. Matched-Normal"
* #Observational "Observational"
* #Longitudinal "Longitudinal"
16 changes: 16 additions & 0 deletions input/fsh/CodeSystem-NihConsentCodes.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
CodeSystem: NihConsentCodes
Id: nih-consent
Title: "NIH Consent Codes"
Description: "A set of terms describing the data use limitations associated with a given consent group."
* ^version = "0.1.0"
* ^status = #active
* ^url = $nihcc
* #GRU "General Research Use"
* #HMB "Health/Medical/Biomedical"
* #DS "Disease-Specific (Disease/Trait/Exposure)"
* #IRB "IRB approval required"
* #PUB "Publication required"
* #COL "Collaboration Required"
* #NPU "Not-for-profit use only"
* #MDS "Methods"
* #GSO "Genetic studies only"
162 changes: 162 additions & 0 deletions input/fsh/Example-CMG-ResearchStudy.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
// We'll use the Baylor Hopkins CMG DbGAP resources to build this example
// which will conform to the current NCPI Research Study model.
//
// https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000711.v7.p2
//
// This particular study has sufficient complexity to show the most
// important aspects of the current model's design without being too cumbersome
// to fully represent.

// The Consortium resource provides a single point of reference to link
// together research studies that exist under the single umbrella.
Instance: cmg-research-consortium
InstanceOf: ResearchConsortium
Title: "The Center for Mendelian Genomics Consortium (CMG) Consortium"
Usage: #example
Description: "The Center for Mendelian Genomics Consortium."
* name = "Center for Mendelian Genomics Consortium"
* alias[0] = "CMG"
* telecom
* system = #url
* value = "http://mendelian.org/"

Instance: cmg-research-study-bhcmg
InstanceOf: NcpiResearchStudy
Title: "Baylor Hopkins Center for Mendelian Genomics (BH CMG)"
Usage: #example
Description: "The Centers for Mendelian Genomics project uses next-generation sequencing and computational approaches to discover the genes and variants that underlie Mendelian conditions. By discovering genes that cause Mendelian conditions, we will expand our understanding of their biology to facilitate diagnosis and new treatments."
// Notice that we can use the DbGaP study ID for easier searching
* identifier[0]
* system = "http://mendelian.org/fhir"
* value = "BH-CMG"
* identifier[1]
* system = "https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id="
* value = "phs000711"
* title = "Baylor Hopkins Center for Mendelian Genomics (BH CMG)"
* description = "The Centers for Mendelian Genomics project uses next-generation sequencing and computational approaches to discover the genes and variants that underlie Mendelian conditions. By discovering genes that cause Mendelian conditions, we will expand our understanding of their biology to facilitate diagnosis and new treatments."
* status = #completed
* sponsor = Reference(cmg-research-consortium)
* category
* coding
* system = $ncpi
* code = #StudyCohort
* display = "Study Cohort"
* focus[+] = $mondo#MONDO:0016054 "cerebral malformation"
* focus[+].coding[0] = $hpo#HP:0030853 "Heterotaxy"
* focus[=].coding[1] = $mesh#D059446 "Heterotaxy Syndrome"
* focus[+].coding[0] = $mondo#MONDO:0016033 "Cornelia de Lange syndrome"
* focus[=].coding[1] = $mesh#D003635 "De Lange Syndrome"
// This particular study doesn't have a specific
* relatedArtifact[0]
* type = #derived-from
* label = "DbGaP"
* display = "phs000711"
* url = "https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000711"
* relatedArtifact[+]
* type = #documentation
* label = "Citation"
* citation = "Gonzaga-Jauregui C, Lupski JR, Gibbs RA. Human genome sequencing in health and disease. Annu Rev Med. 2012;63:35-61. doi: 10.1146/annurev-med-051010-162644. PMID: 22248320; PMCID: PMC3656720."
* document.url = "https://pubmed.ncbi.nlm.nih.gov/22248320/"
* relatedArtifact[+]
* type = #documentation
* label = "Website"
* document.url = "https://mendeliangenomics.org/"
* enrollment = Reference(cmg-research-study-bhcmg-group)
* extension[studyDesign].valueCodeableConcept.coding[0] = $studydesign#Mendelian "Mendelian"
* extension[studyDesign].valueCodeableConcept.coding[1] = $ncpi-study-types#Mixed "Mixed"

Instance: cmg-research-study-bhcmg-group
InstanceOf: StudyGroup
Title: "BH CMG Study Participants"
Usage: #example
Description: "BH-CMG study's entire population"
* name = "BH-CMG Study Participants"
* quantity = 2445
* actual = true
* type = #person

Instance: hmb-npu-consent
InstanceOf: ResearchStudyConsent
Title: "HMB-NPU Consent"
Usage: #example
Description: "Consented with Health/Medical/Biomedical + Not for profit use"
* status = #draft
* scope = #research
* category.coding = http://terminology.hl7.org/CodeSystem/consentcategorycodes#research
* provision.type = http://hl7.org/fhir/consent-provision-type#permit
* provision.purpose[+] = $nihcc#HMB "Health/Medical/Biomedical"
* provision.purpose[+] = $nihcc#NPU "Not-for-profit use only"
//* category.text = "HMB-NPU"

Instance: cmg-research-study-subject-cmg-hmb-npu
InstanceOf: ResearchStudySubject
Title: "Participants consented under HMB-NPU"
Usage: #example
Description: "CMG Consent Group, Health/Medical/Biomedical + Not for profit use"
* identifier[0]
* system = "http://mendelian.org/fhir"
* value = "BH-CMG-HMB-NPU"
* title = "BH-CMG HMB-NPU Consent Study Subject"
* description = "CMG Consent Group, Health/Medical/Biomedical + Not for profit use"
* status = #completed
* partOf = Reference(cmg-research-study-bhcmg)
* extension[consent].valueReference = Reference(hmb-npu-consent)
* enrollment = Reference(cmg-research-study-bhcmg-consent-group-hmb-npu)
// Do we want to link these back to the consortium?
* sponsor = Reference(cmg-research-consortium)

Instance: cmg-research-study-bhcmg-consent-group-hmb-npu
InstanceOf: StudyGroup
Title: "Participants consented under HMB-NPU"
Usage: #example
Description: "BH-CMG study's population consented under Health/Medical/Biomedical + Not for profit use"
* identifier[0]
* system = "http://mendelian.org/fhir/Group"
* value = "HMB-NPU-Participants"
* name = "BM-CMG Study HMB-NPU Participants"
* quantity = 1665
* actual = true
* type = #person

Instance: hmb-irb-npu-consent
InstanceOf: ResearchStudyConsent
Title: "HMB-IRB-NPU Consent"
Usage: #example
Description: "Consented with Health/Medical/Biomedical + IRB Required + Not for profit use"
* status = #draft
* scope = #research
* category.coding = http://terminology.hl7.org/CodeSystem/consentcategorycodes#research
* provision.type = http://hl7.org/fhir/consent-provision-type#permit
* provision.purpose[+] = $nihcc#HMB "Health/Medical/Biomedical"
* provision.purpose[+] = $nihcc#IRB "IRB approval required"
* provision.purpose[+] = $nihcc#NPU "Not-for-profit use only"
//* category.text = "HMB-IRB-NPU"

Instance: cmg-research-study-subject-cmg-hmb-irb-npu
InstanceOf: ResearchStudySubject
Title: "Participants consented under HMB-IRB-NPU"
Usage: #example
Description: "CMG Consent Group, HMB-IRB-NPU"
* identifier[0]
* system = "http://mendelian.org/fhir"
* value = "BH-CMG-HMB-IRB-NPU"
* title = "BH-CMG HMB-IRB-NPU Consent Study Subject"
* status = #completed
* partOf = Reference(cmg-research-study-bhcmg)
* extension[consent].valueReference = Reference(hmb-irb-npu-consent)
* enrollment = Reference(cmg-research-study-bhcmg-group-hmb-irb-npu)

Instance: cmg-research-study-bhcmg-consent-group-hmb-irb-npu
InstanceOf: StudyGroup
Title: "Participants consented under HMB-IRB-NPU"
Usage: #example
Description: "BH-CMG study's population consented under Health/Medical/Biomedical + IRB Approval Required + Not for profit use"
* identifier[0]
* system = "http://mendelian.org/fhir/Group"
* value = "HMB-IRB-NPU-Participants"
* name = "BM-CMG Study HMB-IRB-NPU Participants"
* quantity = 780
* actual = true
* type = #person


4 changes: 2 additions & 2 deletions input/fsh/Example-ConceptMap-DataDictionary.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ The codes used below were chosen purely for example's sake and are in no way an
* $loinc#LP35925-4 "Body mass index (BMI)"
* $umls#C0872128 "case control"
* $hpo#HP:0010772 "Anomalous pulmonary venous return"
* $mondo#0017705 "congenital pulmonary venous return anomaly"
* $mondo#0007130 "congenital total pulmonary venous return anomaly"
* $mondo#MONDO:0017705 "congenital pulmonary venous return anomaly"
* $mondo#MONDO:0007130 "congenital total pulmonary venous return anomaly"

Instance: example-study-data-dictionary-conceptmap-1
InstanceOf: StudyDataDictionaryHarmony
Expand Down
Loading
Loading