Skip to content

Commit

Permalink
Merge pull request #240 from standardhealth/dev
Browse files Browse the repository at this point in the history
mCODE 0.7 and accompanying changes in SHR
  • Loading branch information
mlterryMitre-zz authored Mar 13, 2019
2 parents bae32d3 + 22460c4 commit 3c652df
Show file tree
Hide file tree
Showing 49 changed files with 602 additions and 426 deletions.
3 changes: 1 addition & 2 deletions parking_lot/shr_immunization.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,10 @@ Description: "Describes the event of a patient being administered a vaccination


EntryElement: ImmunizationGiven
Based on: ProcedurePerformedStatement
Based on: Procedure
// Note: Can't inherit from MedicationUsedStatement because Status is bound to http://hl7.org/fhir/ValueSet/medication-statement-status in that class, can't be overriden to http://hl7.org/fhir/ValueSet/immunization-status
Concept: MTH#C0580520
Description: "A vaccination administered to the subject."
// InformationSource value is type PersonOrOrganization
StatementTopic is type ImmunizationTopic
Status from http://hl7.org/fhir/ValueSet/immunization-status
OccurrenceTimeOrPeriod value is type dateTime
Expand Down
4 changes: 2 additions & 2 deletions parking_lot/shr_immunization_map.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ ImmunizationGiven maps to http://hl7.org/fhir/us/core/StructureDefinition/us-cor
constrain explanation to 0..1
Encounter maps to encounter
Reason maps to explanation.reason
FHIRProcedureParticipant maps to practitioner.actor
FHIRProcedureParticipant.ParticipationType maps to practitioner.role
Participant maps to practitioner.actor
Participant.ParticipationType maps to practitioner.role
// FHIRProcedureParticipant.OnBehalfOf maps to nothing
OccurrenceTimeOrPeriod maps to date
Status maps to status
Expand Down
2 changes: 1 addition & 1 deletion spec/LandingPageBreastCancer.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <h2>Table of Contents</h2>
</ul>
<h2><a name="Guidance"></a>Guidance for HL7 Voters</h2>
<p>This section provides orientation to the ballot materials.</p>
<h3>Where to SubjectOfInformation</h3>
<h3>Where to Focus</h3>
<p>There are several representations of the same content in the ballot materials. Different representations will be useful to different audiences:</p>
<ul>
<li><strong>Clinicians and cancer domain experts</strong> should primarily focus on the <a href="logical.html">logical models</a>. These models are the simplest representation of the content included in the ballot. <a href="valuesets.html">Value sets</a> will also be of interest.</li>
Expand Down
18 changes: 6 additions & 12 deletions spec/brca.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,13 @@ Based on: CancerHistologicType
Description: "Classification of breast cancer according to histopathologic subtypes, as determined by microscopic observation of breast tissue samples."
Code is LNC#44638-5 "Histologic type in Breast tumor"
DataValue from BreastCarcinomaHistologicTypeVS
SubjectOfInformation value is type ref(BreastCancerCondition)


EntryElement: BreastTNMClinicalPrognosticStagePanel
Based on: TNMClinicalPrognosticStagePanel
// Concept inherited from parent class, was not breast-specific in BrCa ballot either, was MTH#C2216702 "Malignant Neoplasm of Breast Staging"
Description: "A panel of breast cancer staging information that is performed prior to surgery, based on evidence such as physical examination, imaging, and/or biopsy. The panel should not include both a DCISNuclearGrade and a BreastCancerHistologicGrade, since the latter implies an invasive cancer."
Code is TBD#TBD // was MTH#C2216702 "Malignant Neoplasm of Breast Staging" //Not LNC#21908-9 since that is AJCC-specific and also not breast cancer specific. We do however, give the LOINC list of stage values as the preferred codes.
SubjectOfInformation value is type ref(BreastCancerCondition)
// PanelMembers.Observation.TNMClinicalPrimaryTumorClassification is type BreastTNMClinicalPrimaryTumorClassification
// PanelMembers.Observation.TNMClinicalRegionalNodesClassification is type BreastTNMClinicalRegionalNodesClassification
// PanelMembers.Observation.TNMClinicalDistantMetastasesClassification is type BreastTNMClinicalDistantMetastasesClassification
Expand All @@ -73,7 +71,6 @@ EntryElement: BreastTNMClinicalPrimaryTumorClassification
Based on: TNMClinicalPrimaryTumorClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot either.
Description: "Classification based on the size and extent of the primary breast tumor, assessed prior to surgery, based on evidence such as physical examination, imaging, and/or biopsy."
SubjectOfInformation value is type ref(BreastCancerCondition)
PanelMembers.Observation
includes 0..1 TumorDimensions //TODO: need to distinguish tumor dimensions between clinical and pathologic, specify method?

Expand All @@ -82,7 +79,6 @@ EntryElement: BreastTNMClinicalRegionalNodesClassification
Based on: TNMClinicalRegionalNodesClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot either.
Description: "Classification of the presence or absence of metastases in regional lymph nodes for breast cancer, assessed using tests that are done before surgery."
SubjectOfInformation value is type ref(BreastCancerCondition)
PanelMembers.Observation
includes 0..* BreastClinicalLymphNodeInvolvement

Expand All @@ -91,6 +87,7 @@ EntryElement: BreastClinicalLymphNodeInvolvement
Based on: ComponentOnlyNonLaboratoryObservation
Concept: MTH#C0806692 "Lymph Node Involvement"
Description: "Clinical assessment of lymph nodes for presence of cancer cells in staging the N category in breast cancer."
0..1 RelatedCancerCondition
BodySite is type BreastLymphNodeBodySite
Method from LymphNodeClinicalMethodVS if covered
Components.ObservationComponent
Expand Down Expand Up @@ -123,14 +120,12 @@ EntryElement: BreastTNMClinicalDistantMetastasesClassification
Based on: TNMClinicalDistantMetastasesClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot either.
Description: "Classification of the presence or absense of metastases in remote anatomical locations relative to the breast, assessed using tests that are done before surgery."
SubjectOfInformation value is type ref(BreastCancerCondition)


EntryElement: BreastTNMPathologicPrognosticStagePanel
Based on: TNMPathologicPrognosticStagePanel
// Concept inherited from parent class, was not breast-specific in BrCa ballot either, was MTH#C2216702 "Malignant Neoplasm of Breast Staging"
Description: "A panel of breast cancer staging information that is performed prior to surgery, based on evidence such as physical examination, imaging, and/or biopsy. The panel includes biomarkers and histologic grade scales used specifically for breast cancer. The panel should not include both a DCISNuclearGrade and a BreastCancerHistologicGrade, since the latter implies an invasive cancer."
SubjectOfInformation value is type ref(BreastCancerCondition)
// PanelMembers.Observation.TNMPathologicPrimaryTumorClassification is type BreastTNMPathologicPrimaryTumorClassification
// PanelMembers.Observation.TNMPathologicRegionalNodesClassification is type BreastTNMPathologicRegionalNodesClassification
// PanelMembers.Observation.TNMPathologicDistantMetastasesClassification is type BreastTNMPathologicDistantMetastasesClassification
Expand All @@ -146,15 +141,13 @@ EntryElement: BreastTNMPathologicPrimaryTumorClassification
Based on: TNMPathologicPrimaryTumorClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot.
Description: "Classification of the primary breast tumor, based on its size and extent, assessed through pathologic analysis of a tumor specimen."
SubjectOfInformation value is type ref(BreastCancerCondition)
PanelMembers.Observation
includes 0..1 TumorDimensions //TODO: need to distinguish tumor dimensions between clinical and pathologic, specify method?

EntryElement: BreastTNMPathologicRegionalNodesClassification
Based on: TNMPathologicRegionalNodesClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot.
Description: "Classification of the presence or absence of metastases in regional lymph nodes for breast cancer, assessed through pathologic analysis of a specimen."
SubjectOfInformation value is type ref(BreastCancerCondition)
PanelMembers.Observation
includes 0..* BreastPathologicalLymphNodeInvolvement

Expand Down Expand Up @@ -240,7 +233,7 @@ EntryElement: BreastTNMPathologicDistantMetastasesClassification
Based on: TNMPathologicDistantMetastasesClassification
// Concept inherited from parent class, was not breast-specific in BrCa ballot.
Description: "Classification of the presence or absense of metastases in remote anatomical locations relative to the breast, assessed through pathologic analysis of a specimen."
SubjectOfInformation value is type ref(BreastCancerCondition)


EntryElement: HER2ReceptorStatus
Based on: TumorMarkerObservation
Expand Down Expand Up @@ -451,6 +444,7 @@ The is currently no LOINC code for Mammaprint test."
Interpretation from RecurrenceRiskScoreInterpretationVS
Specimen is type BreastSpecimen
0..0 Device


/************* LEGACY BEGIN ************

Expand Down Expand Up @@ -562,7 +556,7 @@ Based on: Observation
Concept: MTH#C0678941
Description: "Whether a subject carries a mutation in a particular gene."
Value: CodeableConcept from PositiveNegativeVS
// SubjectOfInformation.CodeableConcept from GeneIdentifierVS
// GeneName from GeneIdentifierVS
0..0 ReferenceRange
//0..0 DeltaFlag
0..0 BodySite
Expand Down Expand Up @@ -590,15 +584,15 @@ includes 1..1 BRCA2Variant
Based on: GeneticVariant
Description: "Whether the patient has a mutation in the BRCA1 gene."
Value: CodeableConcept from PositiveNegativeVS
// SubjectOfInformation.CodeableConcept is HGNC#BRCA1Gene
// GeneName is HGNC#BRCA1Gene


Element: BRCA2Variant
Concept: TBD
Based on: GeneticVariant
Description: "Whether the patient has a mutation in the BRCA2 gene."
Value: CodeableConcept from PositiveNegativeVS
// SubjectOfInformation.CodeableConcept is HGNC#BRCA2Gene
// GeneName is HGNC#BRCA2Gene


FHIR Genomics:
Expand Down
9 changes: 0 additions & 9 deletions spec/brca_vs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -335,15 +335,6 @@ Description: "Antibodies relevant to Ki-67 Text."
#30-9 "30-9 - CAP#32160"
#IR/IS62 "IR / IS626 - CAP#32168"

ValueSet: TumorMarginDescriptionVS
SCT#129738007 "Lesion with circumscribed margin"
SCT#129741003 "Lesion with indistinct margin"
SCT#129739004 "Lesion with microlobulated margin"
SCT#129740002 "Lesion with obscured margin"
SCT#129742005 "Lesion with spiculated margin"
// TODO: Add codes for additional tumor margin descriptions (from Penrad)
// Angular margin, Smooth margin, Intraductal extension, Irregular margin, Lobulated margin, Macrolobulated margin, Non circumscribed margin


ValueSet: ReceptorVS
Includes codes descending from SCT#116647005 "Receptor (substance)"
Expand Down
63 changes: 63 additions & 0 deletions spec/ig-mcode-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"projectName": "HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), Release 0.7 - US Realm (Draft for Comment 1)",
"projectShorthand": "oncocore",
"projectURL": "http://hl7.org/fhir/us/projectURL/",
"fhirURL": "http://hl7.org/fhir/us/shr/",
"entryTypeURL": "http://hl7.org/fhir/us/entryTypeURL/spec/",
"fhirTarget": "FHIR_DSTU_2",
"filterStrategy":
{
"filter": true,
"strategy": "element",
"target": ["shr.base.Entry", "shr.core.Patient", "shr.core.Condition", "shr.core.MedicationStatement", "shr.core.SurgicalProcedure", "shr.core.RadiationProcedure", "shr.core.ECOGPerformanceStatus", "shr.core.KarnofskyPerformanceStatus", "oncocore.CancerCondition", "oncocore.CancerHistologicType", "oncocore.CancerHistologicGrade", "oncocore.CancerDiseaseStatus", "oncocore.DistantMetastases", "oncocore.TNMClinicalPrognosticStagePanel",
"oncocore.TNMClinicalStageGroup",
"oncocore.TNMClinicalPrimaryTumorClassification",
"oncocore.TNMClinicalRegionalNodesClassification",
"oncocore.TNMClinicalDistantMetastasesClassification",
"oncocore.TNMPathologicPrognosticStagePanel",
"oncocore.TNMPathologicStageGroup",
"oncocore.TNMPathologicPrimaryTumorClassification",
"oncocore.TNMPathologicRegionalNodesClassification",
"oncocore.TNMPathologicDistantMetastasesClassification",
"oncocore.CancerGeneticMarkerAnalysisResult",
"oncocore.TumorMarkerObservation"
]
},
"implementationGuide":
{
"npmName": "oncocore",
"version": "0.7.0",
"includeLogicalModels": false,
"includeModelDoc": true,
"indexContent": "IndexFolder_Oncocore",
"primarySelectionStrategy":
{
"strategy": "entry",
"primary": ["shr.core.Patient", "shr.core.Condition", "shr.core.MedicationStatement", "shr.core.SurgicalProcedure", "shr.core.RadiationProcedure", "shr.core.ECOGPerformanceStatus", "shr.core.KarnofskyPerformanceStatus", "oncocore.CancerCondition", "oncocore.CancerHistologicType", "oncocore.CancerHistologicGrade", "oncocore.CancerDiseaseStatus", "oncocore.DistantMetastases", "oncocore.TNMClinicalPrognosticStagePanel",
"oncocore.TNMClinicalStageGroup",
"oncocore.TNMClinicalPrimaryTumorClassification",
"oncocore.TNMClinicalRegionalNodesClassification",
"oncocore.TNMClinicalDistantMetastasesClassification",
"oncocore.TNMPathologicPrognosticStagePanel",
"oncocore.TNMPathologicStageGroup",
"oncocore.TNMPathologicPrimaryTumorClassification",
"oncocore.TNMPathologicRegionalNodesClassification",
"oncocore.TNMPathologicDistantMetastasesClassification",
"oncocore.CancerGeneticMarkerAnalysisResult",
"oncocore.TumorMarkerObservation"
],
"hideSupporting": true
}
},
"publisher": "The MITRE Corporation",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://www.hl7.org/Special/committees/cic/index.cfm"
}
]
}
]
}
14 changes: 7 additions & 7 deletions spec/odh_occupation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ Outside of ODH, the employment arrangement between an employer and a person (one
Code is LNC#74165-2 "HistoryOfEmploymentStatus"
DataValue from https://phinvads.cdc.gov/vads/ViewValueSet.action?oid=2.16.840.1.114222.4.11.7129
0..0 Components
0..0 SubjectOfInformation

EntryElement: RetirementDate
Based on: SocialHistoryObservation
Expand All @@ -45,13 +44,11 @@ Outside of ODH, a characterization of the employment arrangement between an empl
Code is LNC#87510-4 "Date of Retirement"
0..0 Components
0..0 RelevantTime // The result value contains the date of retirement, so having a relevant time would be redundant.
0..0 SubjectOfInformation

EntryElement: CombatZonePeriod
Based on: SocialHistoryObservation
0..0 Components
0..0 RelevantTime // Since the result data value contains the time period of combat zone activity, the relevant time is redundant
0..0 SubjectOfInformation

EntryElement: UsualWork
Based on: CodedSocialHistoryObservation
Expand All @@ -61,14 +58,18 @@ Example: a person has worked for a total of 30 years as a building carpenter (Oc
Usual Work does not include work that was unpaid or voluntary."
DataValue from https://phinvads.cdc.gov/vads/ViewValueSet.action?oid=2.16.840.1.114222.4.11.7186
Code is LNC#21843-8 "History of Usual occupation"
SubjectOfInformation value is type CodeableConcept
SubjectOfInformation from https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.1.11.19579/expansion // family member value set
0..1 SubjectOfInformationCode from https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.1.11.19579/expansion // family member value set
Components.ObservationComponent
includes 1..1 UsualIndustry
includes 0..1 UsualOccupationDuration
1..1 RelevantTime
RelevantTime value is type TimePeriod

Element: SubjectOfInformationCode
Description: "The person referred the information in this resource relates to, if different than the person of record."
//The entity this condition or observation relates to, for example, a person related to the SubjectOfRecord. The SubjectOfInformation is only required if the person or thing observed is different than the SubjectOfRecord. SubjectOfInformation should not be an anatomical location. Examples: The focus for cancer progression would be the cancer condition; for wound length, an instance of a wound (a condition). In the case where the SubjectOfInformation is a related person, the value may be a RelatedPerson resource or a concept code with the relationship to the SubjectOfRecord (e.g., wife)
Value: CodeableConcept

Element: UsualIndustry
Based on: CodedObservationComponent
Description: "The industry (type of business) in which the subject has worked for the longest duration while in the usual occupation.
Expand All @@ -93,8 +94,7 @@ A person's job can be a social determinant of their health and information about
At a minimum, it is important to have a record of a person's current job(s); i.e., the job(s) in which a person is engaged at the time that he or she presents to a health care provider, regardless of duration, and to retain that information over time. In the event a person recently stopped working (e.g. retired without another job, became unemployed or disabled and unable to work), the most recent job(s) is used instead of the current job(s)."
0..0 DataValue
0..0 DataAbsentReason
SubjectOfInformation value is type CodeableConcept
SubjectOfInformation from https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.1.11.19579/expansion
0..1 SubjectOfInformationCode from https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.1.11.19579/expansion
Code is LNC#11341-5 "History of Occupation"
0..1 Employer // must be extension; cannot be a result value or an evaluation component because the value is a reference to Person or Organization
Components.ObservationComponent
Expand Down
Loading

0 comments on commit 3c652df

Please sign in to comment.