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

Overhaul of the draft IG #17

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions input/fsh/AL_USCore.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Alias: USCoreObservationLab = http://hl7.org/fhir/us/core/StructureDefinition/
Alias: USCoreOrganization = http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization
Alias: USCoreClinicalTest = http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-clinical-test
Alias: USCoreVitalSigns = http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs
Alias: USCoreObservationImaging = http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-imaging

// Extensions
Alias: USCoreBirthSex = http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Expand Down
4 changes: 4 additions & 0 deletions input/fsh/SD_AdverseEvent.fsh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* we can remove this file. the current AE event work covers the data identified by the standards group

// Taken from CTC AE IG (https://build.fhir.org/ig/standardhealth/fsh-ae/index.html)
// Simplified by removing certain non-minimal features:
// 1. Expectation (whether the AE was expected)
Expand Down Expand Up @@ -974,3 +976,5 @@ Description: "The NCI Common Terminology Criteria for Adverse Events (CTCAE) is
* NCIT#C143873 "Thromboembolic event"
* NCIT#C143930 "Vascular disorders - Other, specify"
* NCIT#C54741 "Vasculitis"

*/
47 changes: 24 additions & 23 deletions input/fsh/SD_CancerResearchSubject.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,51 @@

Profile: CancerResearchSubject
Parent: ResearchSubject
Id: pedcan-cancer-research-subject
Title: "Cancer Research Subject Profile"
Description: "A patient participating or who has participated in a clinical study for cancer."
* ^extension[FMM].valueInteger = 5
* extension contains ReasonOffStudy named reasonOffStudy 0..1 MS
//* extension contains RandomizationStatus named randomizationStatus 0..1 MS
//* progress.reason from CancerStateChangeReasonVS (extensible)

//Extensions
Extension: ReasonOffStudy
Id: pedcan-reason-off-study
Title: "Reason Off Therapy or Study"
Description: "This variable indicates the reason a patient left a clinical study."
* value[x] only CodeableConcept
* value[x] from ReasonOffStudyVS (required)
* value[x] 1..1

* value[x] 0..1 MS

//Valuesets
ValueSet: ReasonOffStudyVS
Id: pedcan-reason-off-study-vs
Title: "Reason Off Study Value Set"
Description: "Value set for reasons a patient leaves a clinical study."
Description: "Value set for reasons why a patient left a clinical study for cancer."
* insert SNOMEDCopyrightForVS
* ^experimental = true
* include codes from valueset TreatmentTerminationReasonVS
* NCIT#C178071 "Follow-Up Completed"
* NCIT#C48250 "Physician Decision"
* NCIT#C40412 "Ineligible"
* NCIT#C48271 "Withdrawal of Consent"
* SCT#271299001 "Patient's condition worsened (finding)"
* SCT#58184002 "Recurrent disease (disorder)"
* SCT#263855007 "Relapse phase (qualifier value)"
* SCT#281647001 "Adverse reaction (disorder)"
* SCT#399409002 "Distant metastasis present (finding)"
* NCIT#C142444 "Study Discontinuation"
* NCIT#C142444 "Study Subject Discontinuation"
* NCIT#C178072 "Failure to Attain Remission"
* SCT#261665006 "Unknown (qualifier value)"
* NCIT#C70757 "Study Terminated"

/*

/*PCDC list
PCDC list
-Death -- in TreatmentTerminationReasonVS
-Lost to follow up -- in TreatmentTerminationReasonVS
-Completion of follow up -- added as NCIT code
-Completion of planned therapy -- in TreatmentTerminationReasonVS (as completion of clinical trial)
-Physicion decision -- added as NCIT code
-Ineligible -- added as NCIT code
-Ineligible -- added as SCT code
-Withdrawal of consent -- added as NCIT code
-Subject/guardian refused further treatment -- in TreatmentTerminationReasonVS (as subject refused treatment....should we change to subject/guardian?)
-Subject non-compliance -- in TreatmentTerminationReasonVS
Expand All @@ -53,27 +57,22 @@ Description: "Value set for reasons a patient leaves a clinical study."
-Study discontinuation -- added as NCIT code
-Failure to attain remission -- added as NCIT code
-Other -- didn't include, becuase we can make this extensible?
-Unknown -- added as SCT code
-Unknown -- not a FHIR thing?
-Not reported -- not a FHIR thing

PCDC codes that are covered by the terminationReason codes above, but don't exactly match
* NCIT#C48250 "Physician Decision"
* NCIT#C4968 "Secondary Malignant Neoplasm"
* NCIT#C168934 "Subject/Guardian Refused Further Treatment"



/*
//PCDC codes that are covered by the terminationReason codes above, but don't exactly match
//* NCIT#C48250 "Physician Decision"
//* NCIT#C4968 "Secondary Malignant Neoplasm"
//* NCIT#C168934 "Subject/Guardian Refused Further Treatment"


/* Not high priority
Not high priority

Extension: RandomizationStatus
Id: pedcan-randomization-status
Title: "RandomizationStatus"
Description: "This variable indicates the whether or not a patient was randomized in a clinical study."
//* . ^code = NCIT#C25196
// Above generates IGPub error: Rule sdf-9: 'In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)' Failed
* . ^code = NCIT#C25196
Above generates IGPub error: Rule sdf-9: 'In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)' Failed
* value[x] only CodeableConcept
* value[x] from RandomizationStatusVS (required)
* value[x] 1..1
Expand All @@ -87,4 +86,6 @@ Description: "Value set for whether or not a patient was randomized in a clinica
* NCIT#C93043 "Nonrandomized Clinical Trial" //this is for a clinical trial, but I can't find a code that's for a patient


*/


*/
46 changes: 46 additions & 0 deletions input/fsh/SD_DiseaseStatus.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Profile: CancerDiseaseStatusModified
Parent: CancerDiseaseStatus
Id: pedcan-cancer-disease-status
Title: "Cancer Disease Status Profile -- modified version"
Description: "A clinician's qualitative judgment on the current trend of the cancer, e.g., whether it is stable, worsening (progressing), or improving (responding). The judgment may be based a single type or multiple kinds of evidence, such as imaging data, assessment of symptoms, tumor markers, laboratory data, etc."
* value[x] only CodeableConcept
* value[x] from ConditionStatusTrendModifiedVS (preferred)
* value[x] ^binding.extension[http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet].valueCanonical = Canonical(ConditionStatusTrendMaxModifiedVS)


ValueSet: ConditionStatusTrendModifiedVS
Id: pedcan-condition-status-trend-modified-vs
Title: "Condition Status Trend Modified Value Set"
Description: "How patient's given disease, condition, or ability is trending."
* insert SNOMEDCopyrightForVS
* ^extension[FMM].valueInteger = 3
* SCT#268910001 "Patient's condition improved (finding)"
* SCT#359746009 "Patient's condition stable (finding)"
* SCT#271299001 "Patient's condition worsened (finding)"
* SCT#709137006 "Patient condition undetermined (finding)"


ValueSet: ConditionStatusTrendMaxModifiedVS
Id: pedcan-condition-status-trend-max-modified-vs
Title: "Condition Status Trend Maximum Value Set"
Description: "Like the ConditionStatusTrendVS, but includes two additional deprecated codes and codes that were removed from the VS. Codes from the SNOMED CT disorder hierarchy were less than ideal because the value of an Observation should be either a finding or a qualifier (see https://confluence.ihtsdotools.org/display/FHIR/Observation+binding for details)."
* include codes from valueset ConditionStatusTrendVS
* SCT#550991000124107 "Malignant neoplasm in full remission (disorder)" // FHIR-32837 - MLT_note: SCT FN is displayed. The initial term of "cancer in complete remission" is a synonym for the concept.
* SCT#551001000124108 "Malignant neoplasm in partial remission (disorder)" // FHIR-32837 - MLT_note: SCT FN is displayed. The initial term of "cancer in partial remission" is a synonym for the concept.

* insert SNOMEDCopyrightForVS
* ^extension[FMM].valueInteger = 3
// * SCT#281900007 "No abnormality detected (finding)" // better than SCT#260415000 "Not detected (qualifier)" - FHIR-32837
* SCT#268910001 "Patient's condition improved (finding)"
* SCT#359746009 "Patient's condition stable (finding)"
* SCT#271299001 "Patient's condition worsened (finding)"
* SCT#709137006 "Patient condition undetermined (finding)"
/*
Retired these, replaced with qualifier values
* SCT#550991000124107 "Malignant neoplasm in full remission (disorder)" // FHIR-32837 - MLT_note: SCT FN is displayed. The initial term of "cancer in complete remission" is a synonym for the concept.
* SCT#551001000124108 "Malignant neoplasm in partial remission (disorder)" // FHIR-32837 - MLT_note: SCT FN is displayed. The initial term of "cancer in partial remission" is a synonym for the concept.
*/
* SCT#103338009 "In full remission (qualifier value)"
* SCT#103337004 "In partial remission (qualifier value)"
/* Added based on FHIR-40811 */
* SCT#399409002 "Distant metastasis present (finding)"
93 changes: 70 additions & 23 deletions input/fsh/SD_Histology.fsh
Original file line number Diff line number Diff line change
@@ -1,49 +1,105 @@
//Option 1 - Diagnostic Report that references Histologic type, grade, and behavior. Type and behavior are also covered under the mCODE PrimaryCancerCondition histology extension//


Profile: TumorMorphologyReport
Parent: USCoreDiagnosticReportProfileLaboratoryReporting
Id: pedcan-tumor-morphology
Title: "Tumor Morphology"
Description: "ICD-O-3 morphology determined from examination of tumor sample, composed of three parts: histologic type, the malignant potential of the tumor (behavior) and the tumor grade (degree of differentiation)."
* specimen 1..1 MS
* ^extension[FMM].valueInteger = 4
* specimen only Reference(HumanSpecimen)
* specimen 0..1 MS
* code = LNC#77753-2 // Tumor morphology panel Cancer
* subject only Reference(CancerPatient)
* subject ^definition = "Patient whose test result is recorded."
* subject 1..1
* effective[x] only dateTime or Period
* extension contains RelatedCondition named relatedCondition 0..* MS
* extension[relatedCondition] ^short = "Condition associated with this test."
* extension[relatedCondition] ^definition = "Associates the tumor marker test with a condition, if one exists. Condition can be given by a reference or a code. In the case of a screening test such as prostate-specific antigen (PSA), there may be no existing condition to reference."
* insert SliceReferenceOnProfile(result)
* result contains histology 0..1 and behavior 0..1 and grade 0..1
* result[histology] only Reference(HistologicType)
* result[histology] ^short = "Histology Type being reported using ICD-O-3"
* result[histology] ^definition = "The ICD-O-3 4-digit histology code for the tumor"
//* result[behavior] only Reference(HistologicBehavior)
//* result[behavior] ^short = "Tumor behavior code being reported using ICD-O-3"
//* result[behavior] ^definition = "The ICD-O-3 5th digit, a 1-digit behavior code for the tumor"
* result[behavior] only Reference(HistologicBehavior)
* result[behavior] ^short = "Tumor behavior code being reported using ICD-O-3"
* result[behavior] ^definition = "The ICD-O-3 5th digit, a 1-digit behavior code for the tumor"
* result[grade] only Reference(HistologicGrade)
* result[grade] ^short = "Tumor grade code being reported using SNOMED" //should I change this back to ICD-O-3?
* result[grade] ^definition = "The histologic grade of the tumor"

Profile: HistologicBehavior
Parent: USCoreObservationLab
Id: pedcan-histologic-behavior
Title: "Histologic Behavior"
Description: "Histologic behavior determined from examination of tumor sample."
* ^extension[FMM].valueInteger = 4
* specimen only Reference(HumanSpecimen)
* specimen 0..1 MS
* code = LNC#31206-6 // Behavior ICD-O-3 Cancer
* value[x] only CodeableConcept
* value[x] 1..1
* value[x] from HistologicBehaviorVS
* subject only Reference(CancerPatient)
* subject ^definition = "Patient whose test result is recorded."
* subject 1..1
* effective[x] only dateTime or Period
* extension contains RelatedCondition named relatedCondition 0..* MS
* extension[relatedCondition] ^short = "Condition associated with this test."
* extension[relatedCondition] ^definition = "Associates the tumor marker test with a condition, if one exists. Condition can be given by a reference or a code. In the case of a screening test such as prostate-specific antigen (PSA), there may be no existing condition to reference."

Profile: HistologicType
Parent: USCoreObservationLab
Id: pedcan-histologic-type
Title: "Histologic Type"
Description: "Histologic type determined from examination of tumor sample."
* specimen 1..1 MS
* ^extension[FMM].valueInteger = 4
* specimen only Reference(HumanSpecimen)
* specimen 0..1 MS
* code = LNC#31205-8 // Histology ICD-O-3 Cancer
* value[x] only CodeableConcept
* value[x] 1..1
* value[x] from HistologicTypeVS
* subject only Reference(CancerPatient)
* subject ^definition = "Patient whose test result is recorded."
* subject 1..1
* effective[x] only dateTime or Period
* extension contains RelatedCondition named relatedCondition 0..* MS
* extension[relatedCondition] ^short = "Condition associated with this test."
* extension[relatedCondition] ^definition = "Associates the tumor marker test with a condition, if one exists. Condition can be given by a reference or a code. In the case of a screening test such as prostate-specific antigen (PSA), there may be no existing condition to reference."

Profile: HistologicGrade
Parent: USCoreObservationLab
Id: pedcan-histologic-grade
Title: "Histologic Grade"
Description: "Histologic grade determined from examination of tumor sample."
* specimen 1..1 MS
* ^extension[FMM].valueInteger = 4
* specimen only Reference(HumanSpecimen)
* specimen 0..1 MS // is not MS in US Core 4.0.0 and 5.0.1
* code = LNC#33732-9 // Histology grade [Identifier] in Cancer specimen (could be 21858-6 Grade Cancer)
* value[x] 1..1
* value[x] only CodeableConcept
* value[x] from HistologicGradeVS
* subject only Reference(CancerPatient)
* subject ^definition = "Patient whose test result is recorded."
* subject 1..1
* effective[x] only dateTime or Period
* extension contains RelatedCondition named relatedCondition 0..* MS
* extension[relatedCondition] ^short = "Condition associated with this test."
* extension[relatedCondition] ^definition = "Associates the histologic grade test with a condition, if one exists. Condition can be given by a reference or a code."
* method from HistologicGradingSystemVS (extensible)
// Already MS in US Core Obs Lab: status, category, code, subject, effective[x], value[x], dataAbsentReason
// RelatedCondition added 11/14/2022, see https://chat.fhir.org/#narrow/stream/229074-CodeX/topic/Reference.20between.20tumor.20characteristics.20and.20cancer.20diagnosis


ValueSet: HistologicTypeVS
Id: pedcan-histologic-type-vs
Title: "Histologic Type Value Set"
Description: "A description of a tumor based on how abnormal the cancer cells and tissue look under a microscope and how quickly the cancer cells are likely to grow and spread."
* include codes from system ICDO3 // should exclude topology codes, but no practical way to do this?


ValueSet: HistologicGradeVS
Id: pedcan-histologic-grade-vs
Title: "Histologic Grade Value Set"
Expand All @@ -53,10 +109,13 @@ Description: "A description of a tumor based on how abnormal the cancer cells a
* SCT#1155708003 "Low histologic grade (qualifier value)"
* SCT#1286893008 "Intermediate histologic grade (qualifier value)"
* SCT#1155707008 "High histologic grade (qualifier value)"
* SCT#57184004 "T lymphocyte (cell)"
* SCT##112130006 "B lymphocyte (cell)"
* SCT#54991005 "Null lymphocyte (cell)"
* SCT#259717003 "Natural Killer cell (cell)"


//covered by histology type
//* SCT#57184004 "T lymphocyte (cell)"
//* SCT##112130006 "B lymphocyte (cell)"
//* SCT#54991005 "Null lymphocyte (cell)"
//* SCT#259717003 "Natural Killer cell (cell)"
//* ICDO3#9 "Grade, cell type, or differentiation not determined, not stated, or not applicable"
/*Team said low/mintermediate/high are more commonly used
* ICDO3#1 "Grade I: Well differentiated"
Expand All @@ -78,18 +137,6 @@ Description: "A description of a tumor based on how abnormal the cancer cells a
* include codes from system SCT where concept is-a #277457005 "Histological grading systems (staging scale)"


/* don't think we need, based on team feedback

Profile: HistologicBehavior
Parent: USCoreObservationLab
Id: pedcan-histologic-behavior
Title: "Histologic Behavior"
Description: "Histologic behavior determined from examination of tumor sample."
* specimen 1..1 MS
* code = LNC#31206-6 // Behavior ICD-O-3 Cancer
* value[x] only CodeableConcept
* value[x] from HistologicBehaviorVS


ValueSet: HistologicBehaviorVS
Id: pedcan-histologic-behavior-vs
Expand All @@ -100,4 +147,4 @@ Description: "How likely the cancer cells are likely to grow and spread."
* ICDO3#/2 "Carcinoma in situ"
* ICDO3#/3 "Malignant, primary site"
* ICDO3#/6 "Malignant, metastatic site"
* ICDO3#/9 "Malignant, uncertain whether primary or metastatic site" */
* ICDO3#/9 "Malignant, uncertain whether primary or metastatic site"
Loading