diff --git a/.gitignore b/.gitignore index fa6c4525..8358210e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ Thumbs.db *.swp *.swn *.swo +*.sh +*.bat diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 8fd8cb9d..c86a7c5a 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -36,8 +36,8 @@ "fshName": "ResearchDataDateOfBirthMethod", "fshType": "CodeSystem", "fshFile": "modules/participant.fsh", - "startLine": 26, - "endLine": 37 + "startLine": 18, + "endLine": 29 }, { "outputFile": "CodeSystem-study-name-type.json", @@ -55,6 +55,22 @@ "startLine": 120, "endLine": 129 }, + { + "outputFile": "Consent-GRU.json", + "fshName": "GRU", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 88, + "endLine": 101 + }, + { + "outputFile": "Consent-HMB.json", + "fshName": "HMB", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 178, + "endLine": 191 + }, { "outputFile": "Consent-hmb-irb-npu-consent.json", "fshName": "hmb-irb-npu-consent", @@ -159,13 +175,53 @@ "startLine": 4, "endLine": 11 }, + { + "outputFile": "Patient-6812345.json", + "fshName": "6812345", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 222, + "endLine": 255 + }, + { + "outputFile": "Patient-PT-005B7CZ4.json", + "fshName": "PT-005B7CZ4", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 132, + "endLine": 164 + }, { "outputFile": "Patient-PT-KZG2CZ95.json", "fshName": "PT-KZG2CZ95", "fshType": "Instance", "fshFile": "examples/participant.fsh", - "startLine": 2, - "endLine": 41 + "startLine": 15, + "endLine": 54 + }, + { + "outputFile": "Person-cbtn-example-person.json", + "fshName": "cbtn-example-person", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 77, + "endLine": 86 + }, + { + "outputFile": "Person-emerge-example-person.json", + "fshName": "emerge-example-person", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 257, + "endLine": 266 + }, + { + "outputFile": "Person-pcgc-example-person.json", + "fshName": "pcgc-example-person", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 167, + "endLine": 176 }, { "outputFile": "PractitionerRole-kf-research-study-personnel-role-op-lead.json", @@ -191,6 +247,22 @@ "startLine": 21, "endLine": 27 }, + { + "outputFile": "ResearchStudy-SD-BHJXBDQK.json", + "fshName": "SD-BHJXBDQK", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 103, + "endLine": 116 + }, + { + "outputFile": "ResearchStudy-SD-PREASA7S.json", + "fshName": "SD-PREASA7S", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 193, + "endLine": 206 + }, { "outputFile": "ResearchStudy-cmg-research-study-bhcmg.json", "fshName": "cmg-research-study-bhcmg", @@ -255,13 +327,45 @@ "startLine": 206, "endLine": 219 }, + { + "outputFile": "ResearchStudy-phv00407460.v2.json", + "fshName": "phv00407460.v2", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 270, + "endLine": 283 + }, + { + "outputFile": "ResearchSubject-cbtn-example-participantstudy.json", + "fshName": "cbtn-example-participantstudy", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 118, + "endLine": 126 + }, + { + "outputFile": "ResearchSubject-emerge-example-participantstudy.json", + "fshName": "emerge-example-participantstudy", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 285, + "endLine": 293 + }, + { + "outputFile": "ResearchSubject-pcgc-example-participantstudy.json", + "fshName": "pcgc-example-participantstudy", + "fshType": "Instance", + "fshFile": "examples/participant.fsh", + "startLine": 208, + "endLine": 216 + }, { "outputFile": "StructureDefinition-SharedDataModelPerson.json", "fshName": "CdmPerson", "fshType": "Logical", "fshFile": "modules/participant.fsh", - "startLine": 18, - "endLine": 23 + "startLine": 93, + "endLine": 98 }, { "outputFile": "StructureDefinition-SharedDataModelResearchCollection.json", @@ -295,6 +399,14 @@ "startLine": 138, "endLine": 168 }, + { + "outputFile": "StructureDefinition-SharedDataModelStudyParticipant.json", + "fshName": "CdmStudyParticipant", + "fshType": "Logical", + "fshFile": "modules/participant.fsh", + "startLine": 116, + "endLine": 122 + }, { "outputFile": "StructureDefinition-access-policy-description.json", "fshName": "AccessPolicyDescription", @@ -303,6 +415,14 @@ "startLine": 83, "endLine": 90 }, + { + "outputFile": "StructureDefinition-access-policy.json", + "fshName": "AccessPolicy", + "fshType": "Extension", + "fshFile": "modules/participant.fsh", + "startLine": 124, + "endLine": 131 + }, { "outputFile": "StructureDefinition-access-type.json", "fshName": "AccessType", @@ -319,13 +439,29 @@ "startLine": 1, "endLine": 13 }, + { + "outputFile": "StructureDefinition-ncpi-Study-Participant.json", + "fshName": "NcpiStudyParticipant", + "fshType": "Profile", + "fshFile": "modules/participant.fsh", + "startLine": 133, + "endLine": 145 + }, { "outputFile": "StructureDefinition-ncpi-participant.json", "fshName": "NcpiParticipant", "fshType": "Profile", "fshFile": "modules/participant.fsh", - "startLine": 70, - "endLine": 95 + "startLine": 62, + "endLine": 87 + }, + { + "outputFile": "StructureDefinition-ncpi-person.json", + "fshName": "NcpiPerson", + "fshType": "Profile", + "fshFile": "modules/participant.fsh", + "startLine": 101, + "endLine": 112 }, { "outputFile": "StructureDefinition-ncpi-research-access-policy.json", @@ -356,16 +492,16 @@ "fshName": "AgeAtLastVitalStatus", "fshType": "Extension", "fshFile": "modules/participant.fsh", - "startLine": 61, - "endLine": 68 + "startLine": 53, + "endLine": 60 }, { "outputFile": "StructureDefinition-research-date-of-birth-method.json", "fshName": "ResearchDateOfBirthMethod", "fshType": "Extension", "fshFile": "modules/participant.fsh", - "startLine": 53, - "endLine": 59 + "startLine": 45, + "endLine": 51 }, { "outputFile": "StructureDefinition-research-disease-use-limitation.json", @@ -380,8 +516,8 @@ "fshName": "ResearchPopulation", "fshType": "Extension", "fshFile": "modules/participant.fsh", - "startLine": 45, - "endLine": 50 + "startLine": 37, + "endLine": 42 }, { "outputFile": "StructureDefinition-research-study-acknowledgement.json", @@ -484,8 +620,8 @@ "fshName": "ResearchDataDateOfBirthMethodVS", "fshType": "ValueSet", "fshFile": "modules/participant.fsh", - "startLine": 39, - "endLine": 43 + "startLine": 31, + "endLine": 35 }, { "outputFile": "ValueSet-study-name-type-vs.json", diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 95cb7e1f..8c02b25a 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -3,9 +3,11 @@ CodeSystem-collection-type.json CollectionType CodeSystem-ncpi.json Ncpi CodeSystem terminologies/ncpi.fsh 6 - 34 CodeSystem-research-data-access-code.json ResearchDataAccessCode CodeSystem modules/research-accesss-policy.fsh 6 - 22 CodeSystem-research-data-access-type.json ResearchDataAccessType CodeSystem modules/research-accesss-policy.fsh 33 - 44 -CodeSystem-research-data-date-of-birth-method.json ResearchDataDateOfBirthMethod CodeSystem modules/participant.fsh 26 - 37 +CodeSystem-research-data-date-of-birth-method.json ResearchDataDateOfBirthMethod CodeSystem modules/participant.fsh 18 - 29 CodeSystem-study-name-type.json StudyNameType CodeSystem modules/research-study.fsh 99 - 110 CodeSystem-study-personnel-role.json StudyPersonnelRole CodeSystem modules/research-study.fsh 120 - 129 +Consent-GRU.json GRU Instance examples/participant.fsh 88 - 101 +Consent-HMB.json HMB Instance examples/participant.fsh 178 - 191 Consent-hmb-irb-npu-consent.json hmb-irb-npu-consent Instance examples/ResearchStudy-BH-CMG.fsh 117 - 133 Consent-hmb-npu-consent.json hmb-npu-consent Instance examples/ResearchStudy-BH-CMG.fsh 71 - 86 Consent-kf-gru-dac-consent.json kf-gru-dac-consent Instance examples/ResearchStudy-CBTN.fsh 105 - 118 @@ -19,10 +21,17 @@ List-ncpi-research-collection-cmg.json ncpi-research- List-ncpi-research-collection-kfx01.json ncpi-research-collection-kfx01 Instance examples/ResearchStudy-CBTN.fsh 236 - 246 List-ncpi-research-collection-pbta.json ncpi-research-collection-pbta Instance examples/ResearchStudy-CBTN.fsh 222 - 234 Organization-kf-research-study-organization-chop.json kf-research-study-organization-chop Instance examples/ResearchStudy-CBTN.fsh 4 - 11 -Patient-PT-KZG2CZ95.json PT-KZG2CZ95 Instance examples/participant.fsh 2 - 41 +Patient-6812345.json 6812345 Instance examples/participant.fsh 222 - 255 +Patient-PT-005B7CZ4.json PT-005B7CZ4 Instance examples/participant.fsh 132 - 164 +Patient-PT-KZG2CZ95.json PT-KZG2CZ95 Instance examples/participant.fsh 15 - 54 +Person-cbtn-example-person.json cbtn-example-person Instance examples/participant.fsh 77 - 86 +Person-emerge-example-person.json emerge-example-person Instance examples/participant.fsh 257 - 266 +Person-pcgc-example-person.json pcgc-example-person Instance examples/participant.fsh 167 - 176 PractitionerRole-kf-research-study-personnel-role-op-lead.json kf-research-study-personnel-role-op-lead Instance examples/ResearchStudy-CBTN.fsh 29 - 35 PractitionerRole-kf-research-study-personnel-role-pi-x01.json kf-research-study-personnel-role-pi-x01 Instance examples/ResearchStudy-CBTN.fsh 13 - 19 PractitionerRole-kf-research-study-personnel-role-pi.json kf-research-study-personnel-role-pi Instance examples/ResearchStudy-CBTN.fsh 21 - 27 +ResearchStudy-SD-BHJXBDQK.json SD-BHJXBDQK Instance examples/participant.fsh 103 - 116 +ResearchStudy-SD-PREASA7S.json SD-PREASA7S Instance examples/participant.fsh 193 - 206 ResearchStudy-cmg-research-study-bhcmg.json cmg-research-study-bhcmg Instance examples/ResearchStudy-BH-CMG.fsh 16 - 67 ResearchStudy-cmg-research-study-subject-cmg-hmb-npu.json cmg-research-study-subject-cmg-hmb-npu Instance examples/ResearchStudy-BH-CMG.fsh 102 - 115 ResearchStudy-cmg-research-study-subject-cmg-irb-hmb-npu.json cmg-research-study-subject-cmg-irb-hmb-npu Instance examples/ResearchStudy-BH-CMG.fsh 148 - 161 @@ -31,22 +40,30 @@ ResearchStudy-kf-research-study-subject-gru-dac.json kf-research-st ResearchStudy-kf-research-study-subject-gru-dbgap.json kf-research-study-subject-gru-dbgap Instance examples/ResearchStudy-CBTN.fsh 150 - 163 ResearchStudy-kf-research-study-subject-gsr-allowed.json kf-research-study-subject-gsr-allowed Instance examples/ResearchStudy-CBTN.fsh 178 - 191 ResearchStudy-kf-research-study-subject-registered.json kf-research-study-subject-registered Instance examples/ResearchStudy-CBTN.fsh 206 - 219 -StructureDefinition-SharedDataModelPerson.json CdmPerson Logical modules/participant.fsh 18 - 23 +ResearchStudy-phv00407460.v2.json phv00407460.v2 Instance examples/participant.fsh 270 - 283 +ResearchSubject-cbtn-example-participantstudy.json cbtn-example-participantstudy Instance examples/participant.fsh 118 - 126 +ResearchSubject-emerge-example-participantstudy.json emerge-example-participantstudy Instance examples/participant.fsh 285 - 293 +ResearchSubject-pcgc-example-participantstudy.json pcgc-example-participantstudy Instance examples/participant.fsh 208 - 216 +StructureDefinition-SharedDataModelPerson.json CdmPerson Logical modules/participant.fsh 93 - 98 StructureDefinition-SharedDataModelResearchCollection.json CdmResearchCollection Logical modules/research-collection.fsh 39 - 48 StructureDefinition-SharedDataModelResearchDataAccessPolicy.json CdmResearchDataAccessPolicy Logical modules/research-accesss-policy.fsh 113 - 120 StructureDefinition-SharedDataModelResearchParticipant.json CdmResearchParticipant Logical modules/participant.fsh 3 - 16 StructureDefinition-SharedDataModelResearchStudy.json CdmResearchStudy Logical modules/research-study.fsh 138 - 168 +StructureDefinition-SharedDataModelStudyParticipant.json CdmStudyParticipant Logical modules/participant.fsh 116 - 122 StructureDefinition-access-policy-description.json AccessPolicyDescription Extension modules/research-accesss-policy.fsh 83 - 90 +StructureDefinition-access-policy.json AccessPolicy Extension modules/participant.fsh 124 - 131 StructureDefinition-access-type.json AccessType Extension modules/research-accesss-policy.fsh 75 - 81 StructureDefinition-label-extension.json Label Extension extensions/Label.fsh 1 - 13 -StructureDefinition-ncpi-participant.json NcpiParticipant Profile modules/participant.fsh 70 - 95 +StructureDefinition-ncpi-Study-Participant.json NcpiStudyParticipant Profile modules/participant.fsh 133 - 145 +StructureDefinition-ncpi-participant.json NcpiParticipant Profile modules/participant.fsh 62 - 87 +StructureDefinition-ncpi-person.json NcpiPerson Profile modules/participant.fsh 101 - 112 StructureDefinition-ncpi-research-access-policy.json NcpiResearchAccessPolicy Profile modules/research-accesss-policy.fsh 92 - 110 StructureDefinition-ncpi-research-collection.json NcpiResearchCollection Profile modules/research-collection.fsh 20 - 37 StructureDefinition-ncpi-research-study.json NcpiResearchStudy Profile modules/research-study.fsh 60 - 86 -StructureDefinition-research-age-at-last-vital-status.json AgeAtLastVitalStatus Extension modules/participant.fsh 61 - 68 -StructureDefinition-research-date-of-birth-method.json ResearchDateOfBirthMethod Extension modules/participant.fsh 53 - 59 +StructureDefinition-research-age-at-last-vital-status.json AgeAtLastVitalStatus Extension modules/participant.fsh 53 - 60 +StructureDefinition-research-date-of-birth-method.json ResearchDateOfBirthMethod Extension modules/participant.fsh 45 - 51 StructureDefinition-research-disease-use-limitation.json ResearchDiseaseUseLimitation Extension modules/research-accesss-policy.fsh 67 - 73 -StructureDefinition-research-population.json ResearchPopulation Extension modules/participant.fsh 45 - 50 +StructureDefinition-research-population.json ResearchPopulation Extension modules/participant.fsh 37 - 42 StructureDefinition-research-study-acknowledgement.json ResearchStudyAcknowledgement Extension modules/research-study.fsh 22 - 29 StructureDefinition-research-study-associated-party.json ResearchStudyAssociatedParty Extension modules/research-study.fsh 31 - 57 StructureDefinition-research-study-design.json ResearchStudyDesign Extension modules/research-study.fsh 7 - 13 @@ -59,6 +76,6 @@ ValueSet-collection-type-vs.json CollectionType ValueSet-mesh-terms.json MeshTerms ValueSet modules/research-accesss-policy.fsh 54 - 60 ValueSet-research-data-access-code-vs.json ResearchDataAccessCodeVS ValueSet modules/research-accesss-policy.fsh 25 - 30 ValueSet-research-data-access-type-vs.json ResearchDataAccessTypeVS ValueSet modules/research-accesss-policy.fsh 47 - 52 -ValueSet-research-data-date-of-birth-method-vs.json ResearchDataDateOfBirthMethodVS ValueSet modules/participant.fsh 39 - 43 +ValueSet-research-data-date-of-birth-method-vs.json ResearchDataDateOfBirthMethodVS ValueSet modules/participant.fsh 31 - 35 ValueSet-study-name-type-vs.json StudyNameTypeVS ValueSet modules/research-study.fsh 113 - 118 ValueSet-study-personnel-role-vs.json StudyPersonnelRoleVS ValueSet modules/research-study.fsh 131 - 136 \ No newline at end of file diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md index 91a8da3e..f80277d7 100644 --- a/fsh-generated/includes/fsh-link-references.md +++ b/fsh-generated/includes/fsh-link-references.md @@ -1,3 +1,4 @@ +[AccessPolicy]: StructureDefinition-access-policy.html [AccessPolicyDescription]: StructureDefinition-access-policy-description.html [AccessType]: StructureDefinition-access-type.html [AgeAtLastVitalStatus]: StructureDefinition-research-age-at-last-vital-status.html @@ -17,19 +18,34 @@ [kf-research-study-personnel-role-pi-x01]: PractitionerRole-kf-research-study-personnel-role-pi-x01.html [ResearchDataDateOfBirthMethodVS]: ValueSet-research-data-date-of-birth-method-vs.html [ResearchDataDateOfBirthMethod]: CodeSystem-research-data-date-of-birth-method.html +[cbtn-example-participantstudy]: ResearchSubject-cbtn-example-participantstudy.html +[emerge-example-participantstudy]: ResearchSubject-emerge-example-participantstudy.html +[pcgc-example-participantstudy]: ResearchSubject-pcgc-example-participantstudy.html [PT-KZG2CZ95]: Patient-PT-KZG2CZ95.html +[cbtn-example-person]: Person-cbtn-example-person.html +[6812345]: Patient-6812345.html +[emerge-example-person]: Person-emerge-example-person.html +[PT-005B7CZ4]: Patient-PT-005B7CZ4.html +[pcgc-example-person]: Person-pcgc-example-person.html [kf-gsr-allowed-access]: Consent-kf-gsr-allowed-access.html [hmb-irb-npu-consent]: Consent-hmb-irb-npu-consent.html [hmb-npu-consent]: Consent-hmb-npu-consent.html [ncpi-research-collection-kfx01]: List-ncpi-research-collection-kfx01.html [Label]: StructureDefinition-label-extension.html [MeshTerms]: ValueSet-mesh-terms.html +[GRU]: Consent-GRU.html +[HMB]: Consent-HMB.html +[SD-BHJXBDQK]: ResearchStudy-SD-BHJXBDQK.html +[SD-PREASA7S]: ResearchStudy-SD-PREASA7S.html +[phv00407460.v2]: ResearchStudy-phv00407460.v2.html [Ncpi]: CodeSystem-ncpi.html [NcpiParticipant]: StructureDefinition-ncpi-participant.html +[NcpiPerson]: StructureDefinition-ncpi-person.html [NcpiResearchAccessPolicy]: StructureDefinition-ncpi-research-access-policy.html [NcpiResearchCollection]: StructureDefinition-ncpi-research-collection.html [NcpiResearchStudy]: StructureDefinition-ncpi-research-study.html [ResearchStudyGroup]: StructureDefinition-research-study-group.html +[NcpiStudyParticipant]: StructureDefinition-ncpi-Study-Participant.html [cmg-research-study-bhcmg-consent-group-hmb-npu]: Group-cmg-research-study-bhcmg-consent-group-hmb-npu.html [cmg-research-study-subject-cmg-hmb-npu]: ResearchStudy-cmg-research-study-subject-cmg-hmb-npu.html [cmg-research-study-bhcmg-consent-group-irb-hmb-npu]: Group-cmg-research-study-bhcmg-consent-group-irb-hmb-npu.html @@ -53,6 +69,7 @@ [ResearchWebLink]: StructureDefinition-research-web-Link.html [CdmResearchCollection]: StructureDefinition-SharedDataModelResearchCollection.html [CdmResearchDataAccessPolicy]: StructureDefinition-SharedDataModelResearchDataAccessPolicy.html +[CdmStudyParticipant]: StructureDefinition-SharedDataModelStudyParticipant.html [CdmResearchParticipant]: StructureDefinition-SharedDataModelResearchParticipant.html [CdmPerson]: StructureDefinition-SharedDataModelPerson.html [CdmResearchStudy]: StructureDefinition-SharedDataModelResearchStudy.html diff --git a/fsh-generated/resources/Consent-GRU.json b/fsh-generated/resources/Consent-GRU.json new file mode 100644 index 00000000..a391297c --- /dev/null +++ b/fsh-generated/resources/Consent-GRU.json @@ -0,0 +1,68 @@ +{ + "resourceType": "Consent", + "id": "GRU", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-access-policy" + ] + }, + "category": [ + { + "coding": [ + { + "code": "research", + "system": "http://terminology.hl7.org/CodeSystem/consentcategorycodes", + "display": "Research Information Access" + } + ] + } + ], + "provision": { + "purpose": [ + { + "code": "GRU", + "system": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/CodeSystem/research-data-access-code", + "display": "General Research Use" + } + ], + "type": "permit" + }, + "extension": [ + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-policy-description", + "valueMarkdown": "Use of the data is limited only by the terms of the model Data Use Certification." + }, + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-Link", + "valueUrl": "https://redcap.chop.edu/surveys/?s=A7M873HMN8" + }, + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-type", + "valueCodeableConcept": { + "coding": [ + { + "code": "controlled", + "system": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/CodeSystem/research-data-access-type" + } + ] + } + } + ], + "status": "draft", + "scope": { + "coding": [ + { + "code": "research", + "system": "http://terminology.hl7.org/CodeSystem/consentscope" + } + ] + }, + "policyRule": { + "coding": [ + { + "code": "cric", + "system": "http://terminology.hl7.org/CodeSystem/consentpolicycodes" + } + ] + } +} diff --git a/fsh-generated/resources/Consent-HMB.json b/fsh-generated/resources/Consent-HMB.json new file mode 100644 index 00000000..4f96bb77 --- /dev/null +++ b/fsh-generated/resources/Consent-HMB.json @@ -0,0 +1,68 @@ +{ + "resourceType": "Consent", + "id": "HMB", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-access-policy" + ] + }, + "category": [ + { + "coding": [ + { + "code": "research", + "system": "http://terminology.hl7.org/CodeSystem/consentcategorycodes", + "display": "Research Information Access" + } + ] + } + ], + "provision": { + "purpose": [ + { + "code": "GRU", + "system": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/CodeSystem/research-data-access-code", + "display": "General Research Use" + } + ], + "type": "permit" + }, + "extension": [ + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-policy-description", + "valueMarkdown": "Use of the data is limited only by the terms of the model Data Use Certification." + }, + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-web-Link", + "valueUrl": "https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs002517" + }, + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-type", + "valueCodeableConcept": { + "coding": [ + { + "code": "controlled", + "system": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/CodeSystem/research-data-access-type" + } + ] + } + } + ], + "status": "draft", + "scope": { + "coding": [ + { + "code": "research", + "system": "http://terminology.hl7.org/CodeSystem/consentscope" + } + ] + }, + "policyRule": { + "coding": [ + { + "code": "cric", + "system": "http://terminology.hl7.org/CodeSystem/consentpolicycodes" + } + ] + } +} diff --git a/fsh-generated/resources/ImplementationGuide-ncpi-fhir-implementation-guide-v2.json b/fsh-generated/resources/ImplementationGuide-ncpi-fhir-implementation-guide-v2.json index 87023d92..7ede8185 100644 --- a/fsh-generated/resources/ImplementationGuide-ncpi-fhir-implementation-guide-v2.json +++ b/fsh-generated/resources/ImplementationGuide-ncpi-fhir-implementation-guide-v2.json @@ -37,6 +37,14 @@ ], "definition": { "resource": [ + { + "reference": { + "reference": "StructureDefinition/access-policy" + }, + "name": "Access policy", + "description": "Access Policy Extension", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/access-policy-description" @@ -189,6 +197,30 @@ "description": "Enumerations for how DOB was constructed", "exampleBoolean": false }, + { + "reference": { + "reference": "ResearchSubject/cbtn-example-participantstudy" + }, + "name": "Example mappings based on data from CBTN", + "description": "Example mappings based on data from CBTN", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + }, + { + "reference": { + "reference": "ResearchSubject/emerge-example-participantstudy" + }, + "name": "Example mappings based on data from eMERGE", + "description": "Example mappings based on data from eMERGE", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + }, + { + "reference": { + "reference": "ResearchSubject/pcgc-example-participantstudy" + }, + "name": "Example mappings based on data from PCGC", + "description": "Example mappings based on data from PCGC", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + }, { "reference": { "reference": "Patient/PT-KZG2CZ95" @@ -197,6 +229,46 @@ "description": "Example patients based on data from CBTN.", "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" }, + { + "reference": { + "reference": "Person/cbtn-example-person" + }, + "name": "Example patients based on data from CBTN", + "description": "Example patients based on data from CBTN", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + }, + { + "reference": { + "reference": "Patient/6812345" + }, + "name": "Example patients based on data from eMERGE", + "description": "Example patients based on data from eMERGE", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + }, + { + "reference": { + "reference": "Person/emerge-example-person" + }, + "name": "Example patients based on data from eMERGE", + "description": "Example patients based on data from eMERGE", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + }, + { + "reference": { + "reference": "Patient/PT-005B7CZ4" + }, + "name": "Example patients based on data from PCGC", + "description": "Example patients based on data from PCGC.", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + }, + { + "reference": { + "reference": "Person/pcgc-example-person" + }, + "name": "Example patients based on data from PCGC", + "description": "Example patients based on data from PCGC", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + }, { "reference": { "reference": "Consent/kf-gsr-allowed-access" @@ -245,6 +317,46 @@ "description": "Example terms from Medical Subject Headings (MeSH) Ontology", "exampleBoolean": false }, + { + "reference": { + "reference": "Consent/GRU" + }, + "name": "Mock consent based on kf-gru-dac-consent", + "description": "General Research Use (GRU)", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-access-policy" + }, + { + "reference": { + "reference": "Consent/HMB" + }, + "name": "Mock consent based on kf-gru-dbgap-consent", + "description": "General Research Use (GRU)", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-access-policy" + }, + { + "reference": { + "reference": "ResearchStudy/SD-BHJXBDQK" + }, + "name": "Mock study based on kf-research-study-subject-gru-dac", + "description": "GRU data access via DAC", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + }, + { + "reference": { + "reference": "ResearchStudy/SD-PREASA7S" + }, + "name": "Mock Study based on kf-research-study-subject-gru-dbgap", + "description": "GRU data access via dbGaP", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + }, + { + "reference": { + "reference": "ResearchStudy/phv00407460.v2" + }, + "name": "Mock study based on kf-research-study-subject-gsr-allowed", + "description": "Genomic Summary Results (GSR) Allowed Access", + "exampleCanonical": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + }, { "reference": { "reference": "CodeSystem/ncpi" @@ -261,6 +373,14 @@ "description": "Research oriented patient", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/ncpi-person" + }, + "name": "NCPI Person", + "description": "Person", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/ncpi-research-access-policy" @@ -293,6 +413,14 @@ "description": "Grouping subject participation within a research study is helpful to provide definitive lists of participants that fit a specific criteria such as *All Participants* or *Participants From a Particular Consent Group*, etc. ", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/ncpi-Study-Participant" + }, + "name": "NCPI Study Participant", + "description": "Research Study", + "exampleBoolean": false + }, { "reference": { "reference": "Group/cmg-research-study-bhcmg-consent-group-hmb-npu" @@ -477,6 +605,14 @@ "description": "The **Shared Data Model for Research Data Access Policy** represent the various Data Use Agreements that govern a researcher's access and use of research data.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SharedDataModelStudyParticipant" + }, + "name": "Shared Data Model for Research Participant and Study Mapping", + "description": "The **Shared data model for StudyParticipant**", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SharedDataModelResearchParticipant" diff --git a/fsh-generated/resources/Patient-6812345.json b/fsh-generated/resources/Patient-6812345.json new file mode 100644 index 00000000..fd64dd31 --- /dev/null +++ b/fsh-generated/resources/Patient-6812345.json @@ -0,0 +1,98 @@ +{ + "resourceType": "Patient", + "id": "6812345", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + ] + }, + "identifier": [ + { + "system": "https://emerge-network.org/", + "value": "12345" + }, + { + "system": "https://emerge-network.org/", + "value": "6812345" + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex", + "valueCode": "F" + }, + { + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "1002-5", + "system": "urn:oid:2.16.840.1.113883.6.238", + "display": "American Indian or Alaska Native" + } + }, + { + "url": "text", + "valueString": "American Indian or Alaska Native" + } + ], + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race" + }, + { + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2186-5", + "system": "urn:oid:2.16.840.1.113883.6.238", + "display": "Not Hispanic or Latino" + } + }, + { + "url": "text", + "valueString": "Not Hispanic or Latino" + } + ], + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity" + }, + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-date-of-birth-method", + "valueCoding": { + "code": "decade-only", + "system": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/CodeSystem/research-data-date-of-birth-method" + } + } + ], + "_birthDate": { + "extension": [ + { + "extension": [ + { + "url": "target", + "valueReference": { + "reference": "Patient/6812345" + } + }, + { + "url": "targetPath", + "valueString": "birthDate" + }, + { + "url": "relationship", + "valueCode": "after" + }, + { + "valueDuration": { + "value": 2006, + "code": "days", + "system": "http://unitsofmeasure.org", + "unit": "d" + }, + "url": "offset" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" + } + ] + } +} diff --git a/fsh-generated/resources/Patient-PT-005B7CZ4.json b/fsh-generated/resources/Patient-PT-005B7CZ4.json new file mode 100644 index 00000000..41e12cab --- /dev/null +++ b/fsh-generated/resources/Patient-PT-005B7CZ4.json @@ -0,0 +1,91 @@ +{ + "resourceType": "Patient", + "id": "PT-005B7CZ4", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + ] + }, + "identifier": [ + { + "system": "http://chdgenes.org/", + "value": "20757" + }, + { + "system": "http://chdgenes.org/", + "value": "PT_005B7CZ4" + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex", + "valueCode": "F" + }, + { + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2106-3", + "system": "urn:oid:2.16.840.1.113883.6.238", + "display": "White" + } + }, + { + "url": "text", + "valueString": "White" + } + ], + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race" + }, + { + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2135-2", + "system": "urn:oid:2.16.840.1.113883.6.238", + "display": "Hispanic or Latino" + } + }, + { + "url": "text", + "valueString": "Hispanic or Latino" + } + ], + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity" + } + ], + "_birthDate": { + "extension": [ + { + "extension": [ + { + "url": "target", + "valueReference": { + "reference": "Patient/PT-005B7CZ4" + } + }, + { + "url": "targetPath", + "valueString": "birthDate" + }, + { + "url": "relationship", + "valueCode": "after" + }, + { + "valueDuration": { + "value": 2006, + "code": "days", + "system": "http://unitsofmeasure.org", + "unit": "d" + }, + "url": "offset" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" + } + ] + } +} diff --git a/fsh-generated/resources/Person-cbtn-example-person.json b/fsh-generated/resources/Person-cbtn-example-person.json new file mode 100644 index 00000000..c6be9a0a --- /dev/null +++ b/fsh-generated/resources/Person-cbtn-example-person.json @@ -0,0 +1,22 @@ +{ + "resourceType": "Person", + "id": "cbtn-example-person", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + ] + }, + "identifier": [ + { + "system": "https://data.kidsfirstdrc.org", + "value": "PS_123" + } + ], + "link": [ + { + "target": { + "reference": "Patient/PT-KZG2CZ95" + } + } + ] +} diff --git a/fsh-generated/resources/Person-emerge-example-person.json b/fsh-generated/resources/Person-emerge-example-person.json new file mode 100644 index 00000000..4aa9ca54 --- /dev/null +++ b/fsh-generated/resources/Person-emerge-example-person.json @@ -0,0 +1,22 @@ +{ + "resourceType": "Person", + "id": "emerge-example-person", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + ] + }, + "identifier": [ + { + "system": "https://emerge-network.org/", + "value": "PS_321" + } + ], + "link": [ + { + "target": { + "reference": "Patient/6812345" + } + } + ] +} diff --git a/fsh-generated/resources/Person-pcgc-example-person.json b/fsh-generated/resources/Person-pcgc-example-person.json new file mode 100644 index 00000000..23dfe655 --- /dev/null +++ b/fsh-generated/resources/Person-pcgc-example-person.json @@ -0,0 +1,22 @@ +{ + "resourceType": "Person", + "id": "pcgc-example-person", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person" + ] + }, + "identifier": [ + { + "system": "http://chdgenes.org/", + "value": "PS_123" + } + ], + "link": [ + { + "target": { + "reference": "Patient/PT-005B7CZ4" + } + } + ] +} diff --git a/fsh-generated/resources/ResearchStudy-SD-BHJXBDQK.json b/fsh-generated/resources/ResearchStudy-SD-BHJXBDQK.json new file mode 100644 index 00000000..44b814c7 --- /dev/null +++ b/fsh-generated/resources/ResearchStudy-SD-BHJXBDQK.json @@ -0,0 +1,36 @@ +{ + "resourceType": "ResearchStudy", + "id": "SD-BHJXBDQK", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + ] + }, + "identifier": [ + { + "system": "https://cbtn.org/", + "value": "SD-BHJXBDQK" + } + ], + "partOf": [ + { + "reference": "ResearchStudy/kf-research-study-cbtn" + } + ], + "extension": [ + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject-consent", + "valueReference": { + "reference": "Consent/kf-gru-dac-consent" + } + } + ], + "enrollment": [ + { + "reference": "Group/kf-research-study-cbtn-participants" + } + ], + "title": "GRU-DAC Study Subject", + "description": "General Research Use data access via DAC", + "status": "completed" +} diff --git a/fsh-generated/resources/ResearchStudy-SD-PREASA7S.json b/fsh-generated/resources/ResearchStudy-SD-PREASA7S.json new file mode 100644 index 00000000..ed7fe063 --- /dev/null +++ b/fsh-generated/resources/ResearchStudy-SD-PREASA7S.json @@ -0,0 +1,36 @@ +{ + "resourceType": "ResearchStudy", + "id": "SD-PREASA7S", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + ] + }, + "identifier": [ + { + "system": "https://cbtn.org/", + "value": "GRU-dbGaP" + } + ], + "partOf": [ + { + "reference": "ResearchStudy/kf-research-study-cbtn" + } + ], + "extension": [ + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject-consent", + "valueReference": { + "reference": "Consent/kf-gru-dbgap-consent" + } + } + ], + "enrollment": [ + { + "reference": "Group/kf-research-study-cbtn-participants" + } + ], + "title": "GRU-dbGaP Study Subject", + "description": "General Research Use data access via dbGaP", + "status": "completed" +} diff --git a/fsh-generated/resources/ResearchStudy-phv00407460.v2.json b/fsh-generated/resources/ResearchStudy-phv00407460.v2.json new file mode 100644 index 00000000..419475f9 --- /dev/null +++ b/fsh-generated/resources/ResearchStudy-phv00407460.v2.json @@ -0,0 +1,36 @@ +{ + "resourceType": "ResearchStudy", + "id": "phv00407460.v2", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject" + ] + }, + "identifier": [ + { + "system": "https://cbtn.org/", + "value": "GSR-ALLOWED" + } + ], + "partOf": [ + { + "reference": "ResearchStudy/kf-research-study-cbtn" + } + ], + "extension": [ + { + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/research-study-subject-consent", + "valueReference": { + "reference": "Consent/kf-gsr-allowed-access" + } + } + ], + "enrollment": [ + { + "reference": "Group/kf-research-study-cbtn-participants" + } + ], + "title": "GSR-ALLOWED Study Subject", + "description": "Genomic Summary Results (GSR) Allowed Access", + "status": "completed" +} diff --git a/fsh-generated/resources/ResearchSubject-cbtn-example-participantstudy.json b/fsh-generated/resources/ResearchSubject-cbtn-example-participantstudy.json new file mode 100644 index 00000000..6edf25de --- /dev/null +++ b/fsh-generated/resources/ResearchSubject-cbtn-example-participantstudy.json @@ -0,0 +1,19 @@ +{ + "resourceType": "ResearchSubject", + "id": "cbtn-example-participantstudy", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + ] + }, + "individual": { + "reference": "Patient/PT-KZG2CZ95" + }, + "study": { + "reference": "ResearchStudy/SD-BHJXBDQK" + }, + "status": "candidate", + "consent": { + "reference": "Consent/GRU" + } +} diff --git a/fsh-generated/resources/ResearchSubject-emerge-example-participantstudy.json b/fsh-generated/resources/ResearchSubject-emerge-example-participantstudy.json new file mode 100644 index 00000000..1bf34524 --- /dev/null +++ b/fsh-generated/resources/ResearchSubject-emerge-example-participantstudy.json @@ -0,0 +1,19 @@ +{ + "resourceType": "ResearchSubject", + "id": "emerge-example-participantstudy", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + ] + }, + "individual": { + "reference": "Patient/6812345" + }, + "study": { + "reference": "ResearchStudy/phv00407460.v2" + }, + "status": "candidate", + "consent": { + "reference": "Consent/GRU" + } +} diff --git a/fsh-generated/resources/ResearchSubject-pcgc-example-participantstudy.json b/fsh-generated/resources/ResearchSubject-pcgc-example-participantstudy.json new file mode 100644 index 00000000..f331e552 --- /dev/null +++ b/fsh-generated/resources/ResearchSubject-pcgc-example-participantstudy.json @@ -0,0 +1,19 @@ +{ + "resourceType": "ResearchSubject", + "id": "pcgc-example-participantstudy", + "meta": { + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant" + ] + }, + "individual": { + "reference": "Patient/PT-005B7CZ4" + }, + "study": { + "reference": "ResearchStudy/SD-PREASA7S" + }, + "status": "candidate", + "consent": { + "reference": "Consent/HMB" + } +} diff --git a/fsh-generated/resources/StructureDefinition-SharedDataModelStudyParticipant.json b/fsh-generated/resources/StructureDefinition-SharedDataModelStudyParticipant.json new file mode 100644 index 00000000..0ab0a73f --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SharedDataModelStudyParticipant.json @@ -0,0 +1,73 @@ +{ + "resourceType": "StructureDefinition", + "id": "SharedDataModelStudyParticipant", + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/SharedDataModelStudyParticipant", + "name": "CdmStudyParticipant", + "title": "Shared Data Model for Research Participant and Study Mapping", + "status": "draft", + "description": "The **Shared data model for StudyParticipant**", + "fhirVersion": "4.3.0", + "kind": "logical", + "abstract": false, + "type": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/SharedDataModelStudyParticipant", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Base", + "derivation": "specialization", + "differential": { + "element": [ + { + "id": "SharedDataModelStudyParticipant", + "path": "SharedDataModelStudyParticipant", + "short": "Shared Data Model for Research Participant and Study Mapping", + "definition": "The **Shared data model for StudyParticipant**" + }, + { + "id": "SharedDataModelStudyParticipant.participant", + "path": "SharedDataModelStudyParticipant.participant", + "short": "The participant we are describing", + "definition": "The participant we are describing", + "min": 1, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/valueset-reference" + ] + } + ] + }, + { + "id": "SharedDataModelStudyParticipant.researchStudy", + "path": "SharedDataModelStudyParticipant.researchStudy", + "short": "The Research Study this participant has a relationship with", + "definition": "The Research Study this participant has a relationship with", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/valueset-reference" + ] + } + ] + }, + { + "id": "SharedDataModelStudyParticipant.accessPolicy", + "path": "SharedDataModelStudyParticipant.accessPolicy", + "short": "The Access Policy that may apply to this participant's data from this study. Not canonical, ie, one must rely on the row level AP.", + "definition": "The Access Policy that may apply to this participant's data from this study. Not canonical, ie, one must rely on the row level AP.", + "min": 0, + "max": "*", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/valueset-reference" + ] + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-access-policy.json b/fsh-generated/resources/StructureDefinition-access-policy.json new file mode 100644 index 00000000..39137edf --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-access-policy.json @@ -0,0 +1,54 @@ +{ + "resourceType": "StructureDefinition", + "id": "access-policy", + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-policy", + "name": "AccessPolicy", + "title": "Access policy", + "status": "draft", + "description": "Access Policy Extension", + "fhirVersion": "4.3.0", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "ResearchSubject" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "short": "Access policy", + "definition": "Access Policy Extension" + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-policy" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-research-access-policy" + ] + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-ncpi-Study-Participant.json b/fsh-generated/resources/StructureDefinition-ncpi-Study-Participant.json new file mode 100644 index 00000000..31208051 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-ncpi-Study-Participant.json @@ -0,0 +1,68 @@ +{ + "resourceType": "StructureDefinition", + "id": "ncpi-Study-Participant", + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-Study-Participant", + "version": "0.1.0", + "name": "NcpiStudyParticipant", + "title": "NCPI Study Participant", + "status": "draft", + "description": "Research Study", + "fhirVersion": "4.3.0", + "kind": "resource", + "abstract": false, + "type": "ResearchSubject", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ResearchSubject", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "ResearchSubject.extension", + "path": "ResearchSubject.extension", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "url" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "ResearchSubject.extension:access-policy", + "path": "ResearchSubject.extension", + "sliceName": "access-policy", + "short": "The Access Policy that may apply to this participant's data from this study. Not canonical, ie, one must rely on the row level AP.", + "min": 0, + "max": "*", + "type": [ + { + "code": "Extension", + "profile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/access-policy" + ] + } + ] + }, + { + "id": "ResearchSubject.study", + "path": "ResearchSubject.study", + "short": "The Research Study this participant has a relationship with" + }, + { + "id": "ResearchSubject.individual", + "path": "ResearchSubject.individual", + "short": "The participant we are describing", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + ] + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-ncpi-person.json b/fsh-generated/resources/StructureDefinition-ncpi-person.json new file mode 100644 index 00000000..babcb70c --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-ncpi-person.json @@ -0,0 +1,39 @@ +{ + "resourceType": "StructureDefinition", + "id": "ncpi-person", + "url": "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-person", + "version": "0.1.0", + "name": "NcpiPerson", + "title": "NCPI Person", + "status": "draft", + "description": "Person", + "fhirVersion": "4.3.0", + "kind": "resource", + "abstract": false, + "type": "Person", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Person", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Person.id", + "path": "Person.id", + "short": "Unique participant identifier", + "min": 1 + }, + { + "id": "Person.link.target", + "path": "Person.link.target", + "short": "The participant we are describing", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-participant" + ] + } + ] + } + ] + } +} diff --git a/input/fsh/examples/participant.fsh b/input/fsh/examples/participant.fsh index ead99289..44c9598f 100644 --- a/input/fsh/examples/participant.fsh +++ b/input/fsh/examples/participant.fsh @@ -1,3 +1,16 @@ +/* + +CBTN, PCGC, and eMERGE examples for: +* NcpiParticipant +* NcpiPerson +* stub AccessPolicy +* stub ResearchStudy +* NcpiParticipantStudy + +*/ + + +// Example 1 Instance: PT-KZG2CZ95 InstanceOf: NcpiParticipant @@ -59,4 +72,222 @@ Description: "Example patients based on data from CBTN." * valueDuration.unit = "d" -*/ \ No newline at end of file +*/ + +Instance: cbtn-example-person +InstanceOf: NcpiPerson +Title: "Example patients based on data from CBTN" +Usage: #example +Description: "Example patients based on data from CBTN" +* identifier + * system = "https://data.kidsfirstdrc.org" + * value = "PS_123" +* link + * target = Reference(PT-KZG2CZ95) + +Instance: GRU +InstanceOf: NcpiResearchAccessPolicy +Title: "Mock consent based on kf-gru-dac-consent" +Usage: #example +Description: "General Research Use (GRU)" +* status = #draft +* scope = http://terminology.hl7.org/CodeSystem/consentscope#research +* category.coding = http://terminology.hl7.org/CodeSystem/consentcategorycodes#research +* policyRule = http://terminology.hl7.org/CodeSystem/consentpolicycodes#cric +* provision.type = http://hl7.org/fhir/consent-provision-type#permit +* provision.purpose[+] = $ncpi-data-access-code#GRU "General Research Use" +* extension[description].valueMarkdown = "Use of the data is limited only by the terms of the model Data Use Certification." +* extension[website].valueUrl = "https://redcap.chop.edu/surveys/?s=A7M873HMN8" +* extension[accessType].valueCodeableConcept = $ncpi-data-access-type#controlled + +Instance: SD-BHJXBDQK +InstanceOf: ResearchStudySubject +Title: "Mock study based on kf-research-study-subject-gru-dac" +Usage: #example +Description: "GRU data access via DAC" +* identifier[0] + * system = "https://cbtn.org/" + * value = "SD-BHJXBDQK" +* title = "GRU-DAC Study Subject" +* description = "General Research Use data access via DAC" +* status = #completed +* partOf = Reference(kf-research-study-cbtn) +* extension[consent].valueReference = Reference(kf-gru-dac-consent) +* enrollment = Reference(kf-research-study-cbtn-participants) + +Instance: cbtn-example-participantstudy +InstanceOf: NcpiStudyParticipant +Title: "Example mappings based on data from CBTN" +Usage: #example +Description: "Example mappings based on data from CBTN" +* individual = Reference(PT-KZG2CZ95) +* study = Reference(SD-BHJXBDQK) +* status = #candidate +* consent = Reference(GRU) + + + +// Example 2 + +Instance: PT-005B7CZ4 +InstanceOf: NcpiParticipant +Title: "Example patients based on data from PCGC" +Usage: #example +Description: "Example patients based on data from PCGC." +* identifier[0] + * system = "http://chdgenes.org/" + * value = "20757" +* identifier[1] + * system = "http://chdgenes.org/" + * value = "PT_005B7CZ4" +* birthDate.extension[+] + * url = $cqf-relativeDateTime + * extension[+] + * url = "target" + * valueReference = Reference(PT-005B7CZ4) + * extension[+] + * url = "targetPath" + * valueString = "birthDate" + * extension[+] + * url = "relationship" + * valueCode = #after + * extension[+] + * url = "offset" + * valueDuration = 2006 'days' + * valueDuration.unit = "d" +* extension[us-core-birth-sex].valueCode = #F "Female" +* extension[us-core-race] + * extension[ombCategory].valueCoding = $omb-race-eth#2106-3 "White" + * extension[text].valueString = "White" +* extension[us-core-ethnicity] + * extension[ombCategory].valueCoding = $omb-race-eth#2135-2 "Hispanic or Latino" + * extension[text].valueString = "Hispanic or Latino" + + +Instance: pcgc-example-person +InstanceOf: NcpiPerson +Title: "Example patients based on data from PCGC" +Usage: #example +Description: "Example patients based on data from PCGC" +* identifier + * system = "http://chdgenes.org/" + * value = "PS_123" +* link + * target = Reference(PT-005B7CZ4) + +Instance: HMB +InstanceOf: NcpiResearchAccessPolicy +Title: "Mock consent based on kf-gru-dbgap-consent" +Usage: #example +Description: "General Research Use (GRU)" +* status = #draft +* scope = http://terminology.hl7.org/CodeSystem/consentscope#research +* category.coding = http://terminology.hl7.org/CodeSystem/consentcategorycodes#research +* policyRule = http://terminology.hl7.org/CodeSystem/consentpolicycodes#cric +* provision.type = http://hl7.org/fhir/consent-provision-type#permit +* provision.purpose[+] = $ncpi-data-access-code#GRU "General Research Use" +* extension[description].valueMarkdown = "Use of the data is limited only by the terms of the model Data Use Certification." +* extension[website].valueUrl = "https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs002517" +* extension[accessType].valueCodeableConcept = $ncpi-data-access-type#controlled + +Instance: SD-PREASA7S +InstanceOf: ResearchStudySubject +Title: "Mock Study based on kf-research-study-subject-gru-dbgap" +Usage: #example +Description: "GRU data access via dbGaP" +* identifier[0] + * system = "https://cbtn.org/" + * value = "GRU-dbGaP" +* title = "GRU-dbGaP Study Subject" +* description = "General Research Use data access via dbGaP" +* status = #completed +* partOf = Reference(kf-research-study-cbtn) +* extension[consent].valueReference = Reference(kf-gru-dbgap-consent) +* enrollment = Reference(kf-research-study-cbtn-participants) + +Instance: pcgc-example-participantstudy +InstanceOf: NcpiStudyParticipant +Title: "Example mappings based on data from PCGC" +Usage: #example +Description: "Example mappings based on data from PCGC" +* individual = Reference(PT-005B7CZ4) +* study = Reference(SD-PREASA7S) +* status = #candidate +* consent = Reference(HMB) + + + +// Example 3 + +Instance: 6812345 +InstanceOf: NcpiParticipant +Title: "Example patients based on data from eMERGE" +Usage: #example +Description: "Example patients based on data from eMERGE" +* identifier[0] + * system = "https://emerge-network.org/" + * value = "12345" +* identifier[1] + * system = "https://emerge-network.org/" + * value = "6812345" +* birthDate.extension[+] + * url = $cqf-relativeDateTime + * extension[+] + * url = "target" + * valueReference = Reference(6812345) + * extension[+] + * url = "targetPath" + * valueString = "birthDate" + * extension[+] + * url = "relationship" + * valueCode = #after + * extension[+] + * url = "offset" + * valueDuration = 2006 'days' + * valueDuration.unit = "d" +* extension[us-core-birth-sex].valueCode = #F "Female" +* extension[us-core-race] + * extension[ombCategory].valueCoding = $omb-race-eth#1002-5 "American Indian or Alaska Native" + * extension[text].valueString = "American Indian or Alaska Native" +* extension[us-core-ethnicity] + * extension[ombCategory].valueCoding = $omb-race-eth#2186-5 "Not Hispanic or Latino" + * extension[text].valueString = "Not Hispanic or Latino" +* extension[dob-method].valueCoding = $ncpi-dob-method#decade-only + +Instance: emerge-example-person +InstanceOf: NcpiPerson +Title: "Example patients based on data from eMERGE" +Usage: #example +Description: "Example patients based on data from eMERGE" +* identifier + * system = "https://emerge-network.org/" + * value = "PS_321" +* link + * target = Reference(6812345) + +// Example uses GRU for consent seen in example 2 + +Instance: phv00407460.v2 +InstanceOf: ResearchStudySubject +Title: "Mock study based on kf-research-study-subject-gsr-allowed" +Usage: #example +Description: "Genomic Summary Results (GSR) Allowed Access" +* identifier[0] + * system = "https://cbtn.org/" + * value = "GSR-ALLOWED" +* title = "GSR-ALLOWED Study Subject" +* description = "Genomic Summary Results (GSR) Allowed Access" +* status = #completed +* partOf = Reference(kf-research-study-cbtn) +* extension[consent].valueReference = Reference(kf-gsr-allowed-access) +* enrollment = Reference(kf-research-study-cbtn-participants) + +Instance: emerge-example-participantstudy +InstanceOf: NcpiStudyParticipant +Title: "Example mappings based on data from eMERGE" +Usage: #example +Description: "Example mappings based on data from eMERGE" +* individual = Reference(6812345) +* study = Reference(phv00407460.v2) +* status = #candidate +* consent = Reference(GRU) diff --git a/input/fsh/modules/participant.fsh b/input/fsh/modules/participant.fsh index 4013dbb6..c193ef9b 100644 --- a/input/fsh/modules/participant.fsh +++ b/input/fsh/modules/participant.fsh @@ -15,14 +15,6 @@ Description: "The **Shared Data Model for Research Participants**" * ageAtLastVitalStatus 0..1 date "Age at last vital status" * vitalStatus 0..1 code "Vital Status" -Logical: CdmPerson -Id: SharedDataModelPerson -Title: "Shared Data Model for Research Persons" -Description: "The **Shared data model for Person**" -* identifier 1..1 string "Unique Person identifier." -* participant 1..1 reference "The participant we are describing" - - CodeSystem: ResearchDataDateOfBirthMethod Id: research-data-date-of-birth-method Title: "Enumerations for how DOB was constructed" @@ -94,3 +86,60 @@ Description: "Research oriented patient" * extension contains AgeAtLastVitalStatus named age-at-last-vital-status 0..1 * extension[age-at-last-vital-status] ^short = "Age or date of last vital status" + + +// Person Module + +Logical: CdmPerson +Id: SharedDataModelPerson +Title: "Shared Data Model for Research Persons" +Description: "The **Shared data model for Person**" +* identifier 1..1 string "Unique Person identifier." +* participant 1..1 reference "The participant we are describing" + + +Profile: NcpiPerson +Parent: Person +Id: ncpi-person +Title: "NCPI Person" +Description: "Person" +* ^version = "0.1.0" +* ^status = #draft +* id 1..1 +* id ^short = "Unique participant identifier" +* link 1..* +* link.target only Reference(NcpiParticipant) +* link.target ^short = "The participant we are describing" + +// Study Participant Module + +Logical: CdmStudyParticipant +Id: SharedDataModelStudyParticipant +Title: "Shared Data Model for Research Participant and Study Mapping" +Description: "The **Shared data model for StudyParticipant**" +* participant 1..1 reference "The participant we are describing" +* researchStudy 0..1 reference "The Research Study this participant has a relationship with" +* accessPolicy 0..* reference "The Access Policy that may apply to this participant's data from this study. Not canonical, ie, one must rely on the row level AP." + +Extension: AccessPolicy +Id: access-policy +Title: "Access policy" +Description: "Access Policy Extension" +* insert SetContext(ResearchSubject) +* value[x] only Reference +* valueReference 1..1 +* valueReference only Reference(NcpiResearchAccessPolicy) + +Profile: NcpiStudyParticipant +Parent: ResearchSubject +Id: ncpi-Study-Participant +Title: "NCPI Study Participant" +Description: "Research Study" +* ^version = "0.1.0" +* ^status = #draft +* individual only Reference(NcpiParticipant) +* individual ^short = "The participant we are describing" +* study only Reference(ResearchStudy) +* study ^short = "The Research Study this participant has a relationship with" +* extension contains AccessPolicy named access-policy 0..* +* extension[access-policy] ^short = "The Access Policy that may apply to this participant's data from this study. Not canonical, ie, one must rely on the row level AP." diff --git a/input/pagecontent/StructureDefinition-ncpi-person-intro.md b/input/pagecontent/StructureDefinition-ncpi-person-intro.md new file mode 100755 index 00000000..942908e0 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ncpi-person-intro.md @@ -0,0 +1,18 @@ +#### Key Guidelines +In situations where a person participates in multiple studies that have participant data scoped in an exclusive way within one or more projects, we have a Person entity. It is functionally a “group” of Participants that are all describing one “actual” person. This is especially to support situations where access policies about that participant might be conflicting and cases where the data itself about the participant might conflict but cannot be adjudicated by the repository. + +##### Added Profile Restrictions +In order to ensure that our resources are interoperable across studies, we have employed a number of restrictions that should make consuming Patient resources more consistent. + +* ID **should** be a globally unique identifier associated with the person. This practice is intended to make constructing queries for the same person compatible across different servers (such as QA vs PROD) but also to make the resource URLs more meaningful. + + +#### Recommended Practices +TODO: Write Recommended Practices + +##### FHIR Mappings +The following fields from the shared data model are to be mapped into the NCPI Participant as shown below: + +| **Logical Model Property** | **Cardinality** | **NCPI Person Mapping** |**Usage Guidance** | **Notes** | +Person|1..1|id| Required | It is strongly recommended for the Person ID to be a unique identifier with an appropriate system| +Participant|0..1|Reference|Required|It is strongly recommended for the Participant ID to be a unique identifier with an appropriate system| diff --git a/input/pagecontent/StructureDefinition-ncpi-person-notes.md b/input/pagecontent/StructureDefinition-ncpi-person-notes.md new file mode 100755 index 00000000..18866290 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ncpi-person-notes.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-ncpi-study-participant-intro.md b/input/pagecontent/StructureDefinition-ncpi-study-participant-intro.md new file mode 100755 index 00000000..676cf319 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ncpi-study-participant-intro.md @@ -0,0 +1,18 @@ +#### Key Guidelines +Study Participation (ResearchSubject) describes the relationship between a specific Participant and a Research Study that collects and is sharing data on that Participant. A single Participant may have this “Study Participation” relationship with multiple Research Studies, and each relationship may have a different sharing restriction. These relationships are primarily illustrative, as the Access Policy details of any given element are documented within that element. + +##### Added Profile Restrictions + + +#### Recommended Practices +TODO: Write Recommended Practices + +##### FHIR Mappings +The following fields from the shared data model are to be mapped into the NCPI Participant as shown below: + + +| **Logical Model Property** | **Cardinality** | **NCPI Participant Mapping** |**Usage Guidance** | **Notes** | +Participant|1..1|reference|Required|| +ResearchStudy|1..1|reference|Required|| +AccessPolicy|0..*|reference|Required if available|| + diff --git a/input/pagecontent/StructureDefinition-ncpi-study-participant-notes.md b/input/pagecontent/StructureDefinition-ncpi-study-participant-notes.md new file mode 100755 index 00000000..18866290 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ncpi-study-participant-notes.md @@ -0,0 +1 @@ + \ No newline at end of file