diff --git a/shr_immunization_map.txt b/shr_immunization_map.txt deleted file mode 100644 index e8e5a1c8..00000000 --- a/shr_immunization_map.txt +++ /dev/null @@ -1,38 +0,0 @@ -Grammar: Map 5.1 -Namespace: shr.immunization -Target: FHIR_STU_3 - - -ImmunizationGiven maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization: - _Entry.RelatedEncounter maps to encounter - Vaccine.Type maps to vaccineCode - Vaccine.LotNumber maps to lotNumber - Vaccine.Manufacturer maps to manufacturer - Vaccine.ExpirationDate maps to expirationDate - constrain explanation to 0..1 - PerformedContext.Reason maps to explanation.reason - PerformedContext.Participant.Entity maps to practitioner.actor - PerformedContext.Participant.ParticipationType maps to practitioner.role - PerformedContext.OccurrenceTimeOrPeriod maps to date - PerformedContext.Facility maps to location -// TODO: must support fixing booleans -//fix notGiven to false - BodySite maps to site - RouteIntoBody maps to route - DoseAmount maps to doseQuantity - TBD "DoseSequenceNumber" maps to vaccinationProtocol.doseSequence - // TODO: Below is commented out because it's not currently supported - // status is ICS#completed // FHIR bug: if "wasNotGiven" is true, there is no reasonable choice for status - -ImmunizationNotGiven maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization: - Vaccine.Type maps to vaccineCode - constrain explanation to 0..1 -// TODO: must support fixing booleans -// fix notGiven to true - NotPerformedContext.NonOccurrenceTimeOrPeriod maps to date - NotPerformedContext.Reason maps to explanation.reasonNotGiven - constrain site to 0..0 - constrain route to 0..0 - constrain doseQuantity to 0..0 - TBD "DoseSequenceNumber" maps to vaccinationProtocol.doseSequence - fix status to #completed // if not given, is this right choice for status? \ No newline at end of file diff --git a/shr_skin.txt b/shr_skin.txt deleted file mode 100644 index 88442686..00000000 --- a/shr_skin.txt +++ /dev/null @@ -1,150 +0,0 @@ -Grammar: DataElement 5.0 -Namespace: shr.skin -Description: "SHR implementation of the HL7 Pressure Ulcer Prevention Domain Analysis Model (May, 2011)." -Uses: shr.core, shr.base, shr.finding, shr.action, shr.entity, shr.device, shr.condition, shr.procedure - -CodeSystem: UCUM = http://unitsofmeasure.org -CodeSystem: LNC = http://loinc.org - - -Element: SupportSurface -Concept: SCT#272243001 -Based on: Device -Description: "A specific instance of a support surface used to distribute pressure and support a patient. The value is coding of the type of support surface." -Value: CodeableConcept from SupportSurfaceVS -0..1 SupportSurfaceCategory -0..1 SupportSurfaceBodyPosition -0..* SupportSurfaceComponent - - Element: SupportSurfaceCategory - Concept: TBD - Description: "The category of support surface." - Value: CodeableConcept from SupportSurfaceCategoryVS - - Element: SupportSurfaceBodyPosition - Concept: TBD - Description: "What body positions the surface can be used for, specifically, sitting or lying." - Value: CodeableConcept from SupportSurfaceBodyPositionVS - - Element: SupportSurfaceComponent - Concept: TBD - Description: "A physical material, structure, or system used alone or in combination with other components to fashion a support surface." - Value: CodeableConcept from SupportSurfaceComponentVS - -Element: SupportSurfaceUsed -Concept: TBD -Based on: DeviceUsed -Description: "A paricular instance of the use of a support surface in patient care." -Value: Device is type SupportSurface - Implanted is #no -0..1 ImmersionDepth - - Element: ImmersionDepth - Concept: TBD - Description: "Depth of penetration (sinking) into a support surface." - Value: Quantity with units UCUM#cm "cm" - - -EntryElement: Wound -Based on: Condition -Concept: TBD -Description: "A determination that a wound that exists at a particular body site, implicitly, the wound itself. Multiple wound assessments can be associated with a single wound." -Value: CodeableConcept from WoundTypeVS - -/* - Element: CausativeFactor - Concept: TBD - Description: "The cause the irritation or inflammation." - Value: CodeableConcept from TBD "WoundCausationVS" or Device - -*/ - -EntryElement: WoundAbsent -Based on: ConditionAbsent -Concept: TBD -Description: "Documents the absence of a wounds of a particular type at a given body site. if the Value is SCT#416462003 (Wound) then there is no wound of any type at the site." -Value: CodeableConcept from WoundTypeVS - - -// TODO: All must refer to the same wound -EntryElement: WoundEvaluation -Based on: EvaluationResultRecorded -Concept: LNC#54574-9 -Description: "Group of observations regarding the properties and severity of a wound." -0..0 Value - TopicCode is LNC#54574-9 - Focus.Topic is type Wound - PanelMembers.EvaluationTopic -includes 0..* VisibleInternalStructure -includes 0..1 WoundSize -includes 0..* WoundTunneling -includes 0..* WoundUndermining -includes 0..1 WoundBedAndEdge -includes 0..1 WoundExudate - - Element: VisibleInternalStructure - Based on: EvaluationResultRecorded - Concept: TBD - Description: "An internal body structure visible from outside the body, for example, due to injury." - Value: CodeableConcept from VisibleInternalStructureVS - - Element: WoundSize - Based on: EvaluationResultRecorded - Concept: MTH#C3496620 - Description: "The estimated or measured dimensions of a wound." - EvaluationComponent - includes 0..1 Area - includes 0..1 Circumference - includes 0..1 Volume - includes 0..1 Width - includes 0..1 Depth - includes 0..1 Length - - Element: WoundTunneling - Based on: EvaluationResultRecorded - Concept: MTH#C0406830 - Description: "A discharging blind-ended track that extends from the surface of an organ to an underlying area or abscess cavity. The track is invariably lined with granulation tissue. In chronic cases this may be augmented with epithelial tissue." - Value: CodeableConcept from YesNoUnknownVS - EvaluationComponent - includes 0..1 ClockDirection - includes 0..1 Length - - Element: WoundUndermining - Based on: EvaluationResultRecorded - Concept: TBD - Description: "Assessment of deep tissue (subcutaneous fat and muscle) damage around the wound margin. Tunneling is just under the skin surface and doesn't involve deep tissue, and sinus tracts are a narrow tract that are away from the wound margins and go downward into the wound." - Value: CodeableConcept from YesNoUnknownVS - EvaluationComponent - includes 0..1 ClockDirection - includes 0..1 Length - - Element: WoundBedAndEdge - Based on: EvaluationResultRecorded - Concept: TBD - Description: "Description of the periphery and base of a wound." - EvaluationComponent - //includes 0..1 TBD "WoundBaseAppearance" - //includes 0..1 TBD "WoundBaseColor" - includes 0..1 WoundEdgeAppearance - //includes 0..1 TBD "WoundEdgeColor" - //includes 0..1 TBD "WoundClosureType" - - Element: WoundEdgeAppearance - Based on: EvaluationComponent - Concept: LNC#723204-9 - Description: "The state of the tissue at the edge of the wound." - Value: CodeableConcept from WoundEdgeAppearanceVS - - Element: WoundExudate - Based on: EvaluationResultRecorded - Concept: TBD - Description: "Description of the fluid produced by a wound." - 0..0 Value - // EvaluationComponent - //includes 0..1 TBD "WoundExudateOdor" - //includes 0..1 TBD "WoundExudateColor" - //includes 0..1 TBD "DrainageAmount" - //includes 0..1 TBD "WoundExudateAppearance" - - - diff --git a/shr_skin_map.txt b/shr_skin_map.txt deleted file mode 100644 index 0fcf5c58..00000000 --- a/shr_skin_map.txt +++ /dev/null @@ -1,4 +0,0 @@ -Grammar: Map 5.1 -Namespace: shr.skin -Target: FHIR_STU_3 - diff --git a/spec/LandingPageBreastCancer.html b/spec/LandingPageBreastCancer.html new file mode 100644 index 00000000..21f557ea --- /dev/null +++ b/spec/LandingPageBreastCancer.html @@ -0,0 +1,121 @@ +
This is a For-Comment Ballot for the Breast Cancer Data FHIR Implementation Guide (IG) sponsored by Clinical Information Council (CIC) Work Group, and co-sponsored by the Clinical Information Modeling Initiative (CIMI). The Breast Cancer Data IG was created by the Cancer Interoperability Group, a voluntary group representing a wide variety of organizations and perspectives, including providers, medical professional societies, vendors, and governmental organizations. The models herein have NOT been approved by by CIMI, and deviations from CIMI are summarized in the section Relationship to CIMI.
+This section provides orientation to the ballot materials.
+There are several representations of the same content in the ballot materials. Different representations will be useful to different audiences:
+The sponsoring work groups and the Cancer Interoperability Group are seeking both general and specific comments regarding this material.
+The Breast Cancer Interoperability FHIR Implementation Guide (IG) contains a subset of logical models for breast cancer focused on data elements used for breast cancer staging. FHIR profiles are provided as an example physical representation of the logical models. This IG also serves as an experimental pilot for the Clinical Information Modeling Initiative (CIMI), presenting a combination of CIMI-derived models, FHIR logical models, and FHIR Profiles.
+Several oncology data models exist today. They were created by specialized communities and for specific purposes like generating synoptic reports for pathology, developing oncology treatment plans, reporting to cancer registries, and supporting clinical documentation in an oncology EHR. There is no clear agreement among these models, further complicating the seamless exchange of structured and coded data among these disparate systems. And yet, there is general consensus on the need to have a common set of data elements that allows for the seamless exchange of oncology data as one proceeds through the cancer patient journey of care.
+The Cancer Interoperability Project aims to address this concern with the goal of modeling cancer data in a way that can be used for the diagnosis, treatment, and research of cancer. The project is a collaboration of a diverse multidisciplinary group involved in the diagnosis, treatment, research, and surveillance of cancer.
+The IG covers oncology-specific data necessary support breast cancer treatment and research, focusing first and foremost on data driving clinical decision-making for medical and surgical oncologists. The first iteration of this guide is focused on breast cancer staging. The data required for staging involves several clinical domains and specialties, including medical oncology, surgical oncology, and anatomic pathology. The American Joint Commission on Cancer 8th Edition Staging Manual (AJCC-8) is typically used for staging breast cancer in the US Realm. Their methodology involves not only the well-known T, N, and M elements, but also other elements influence the prognosis of breast cancer patients, including tumor grade, hormone receptor status (progesterone and estrogen), as well as human epidermal growth factor 2 (HER 2) status, among others.
+Over time, we expect the IG will incrementally evolve to cover a wider range of clinical domains (e.g. radiology, clinical genomics, interventional radiology), and expand its scope to include other key areas for breast cancer diagnosis and treatment (e.g. radiation therapy, chemotherapy), while supporting secondary data use in for clinical research and cancer registry reporting.
+The IG contains several different elements, accessed using the top level navigation tabs:
+Specifications consulted for the development of this IG include:
+In addition to sources specifically providing clinical content related to cancer and breast cancer, from a modeling perspective, CIMI models were also used as a source.
+Data elements were initially prioritized based on the identified scope. Consideration was given to existing representations of the elements across the source material, which varied in complexity from a simple data element dictionary to more well-formed logical models which included relationships between concepts. Value sets for coded elements were also compared across the sources.
+Differences across sources drove the development of harmonized detailed clinical models. Final decisions on the inclusion of data elements and attributes were driven by 1) their impact in driving clinical decision making for breast cancer treatment, and 2) their presence in multiple sources, indicative of the importance of the data element across practice areas.
+The terminology bindings in this implementation guide are preliminary. The primary goal was to identify and vet appropriate values for each coded data element and its attributes.
+For those elements for which terminology bindings exist, SNOMED-CT and LOINC were the preferred vocabularies. However, given known gaps in these vocabularies on the domain areas covered in this IG, codes from vocabularies such as ICD-O-3 and the NCI metathesaurus were used.
+In addition, while the AJCC staging system is recognized as one of the most widely-used standards for breast cancer staging, this guide does not include any AJCC terminology due to unresolved copyright issues. As such, elements related to staging do not currently include terminology bindings, and refer back to the staging system used for the appropriate codes. The value sets are known, and their inclusion would considerably strengthen the specification, if and when copyright issues have been resolved.
+The tools used to define the models and produce the logical models and the FHIR profiles are open source, developed as part of the Standard Health Record (SHR) Initiative. The SHR tooling consists of several elements:
+The final form of the Implementation Guide (the html pages you see here) was produced using the standard FHIR Implementation Guide Publisher (IGPub).
+The breast cancer model presented here has NOT been approved by the CIMI Work Group. While a serious attempt has been made to align to the CIMI Reference Model (CIMI-RM), the breast cancer model departs from the CIMI-RM in ways explained below. Moreover, CIMI is still actively evolving, and the definition of "CIMI Conformance" is still being discusssed. It is hoped that the breast cancer model will inform future CIMI development.
+To the extent possible, the breast cancer staging model has been based on the CIMI Reference Model (CIMI-RM). The last "official" release of the CIMI-RM was Version 0.0.4, for the January 2018 ballot. The CIMI-RM is currently undergoing revisions as part of ongoing development and ballot reconciliation. The breast cancer models incorporate those changes, to the extent those changes are known and have been approved in the CIMI Work Group.
+Deviations from CIMI-RM V0.0.4 are called out in the documentation of specific classes. These should be further investigated to understand if closer alignment between, or changes to, FHIR and CIMI could be useful. Here is a summary of those deviations, and our understanding of the reasons (other thoughts would be most welcome):
+In addition, most of the oncology classes are derived in a way that may not be considered "textbook CIMI". For example, BreastCancerStage inherits from EvaluationResultRecorded, which is a child of ClinicalStatement. CIMI topic-context pattern would require up to three classes: (1) a BreastCancerStageTopic class inheriting from ObservationTopic, (2) a BreastCancerStageContext inheriting from RecordedContext (if required), and (3) a class or archetype that combines this topic and context into a clinical statement that represents the BreastCancerStage. There are several reasons the breast cancer model departed from this CIMI pattern:
+Finally, the breast cancer models have not yet been serialized in the "gold standard" CIMI manner, as Basic Metamodel (BMM) and Archetype Description Language (ADL) files. There is ongoing work to try and accomplish that. For now, the models are presented as FHIR logical models, using FHIR StructureDefinitions.
+This specification may contain and/or reference intellectual property owned by third parties ("Third Party IP"). Acceptance of the FHIR Licensing Terms does not grant any rights with respect to Third Party IP. The licensee alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize Third Party IP in connection with the specification or otherwise.
+Any actions, claims or suits brought by a third party resulting from a breach of any Third Party IP right by the Licensee remains the Licensee’s liability. Following is a non-exhaustive list of third-party terminologies that may require a separate license:
+Terminology | +Owner/Contact | +
SNOMED CT | +SNOMED International | +
LOINC | +Regenstrief Institute | +
ICD-O-3 | +World Health Organization | +
+
This is a preliminary version of the CIMI Health Level 7 (HL7) Fast Healthcare
Interoperability Resources (FHIR) profiles, extensions, value sets, and code systems.
+ This is a preliminary version of the CIMI Health Level 7 (HL7) Fast Healthcare
+ Interoperability Resources (FHIR) profiles, extensions, value sets, and code systems.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non lacus tellus. Mauris in luctus ex. Donec nec leo mauris. Suspendisse nec velit ullamcorper, condimentum neque vel, consequat massa. Ut mattis fermentum facilisis. Etiam ut tortor tortor. Nam eget egestas dolor. Pellentesque dignissim purus mauris, id auctor purus iaculis sit amet. +
++Quisque sagittis viverra lorem eget blandit. Morbi laoreet nulla ac metus accumsan, ac tristique urna molestie. Aenean ut tortor vitae nulla luctus suscipit. Proin augue risus, laoreet sed fringilla a, cursus sollicitudin ligula. Donec sed accumsan magna. Duis at molestie ex. Sed id condimentum massa. Nam quis metus et orci tincidunt aliquam at ac ipsum. Aliquam nec enim diam. Donec ante metus, fermentum eu massa ac, lobortis mattis velit. +
++Cras pellentesque efficitur consectetur. Duis sed tristique lorem. Fusce ultrices neque eu euismod rhoncus. Etiam scelerisque vehicula lacus ut faucibus. Fusce arcu lacus, tempus venenatis massa sit amet, dictum lobortis purus. In nunc nisi, consectetur semper magna sit amet, fermentum pulvinar dui. Nulla mollis dolor a diam condimentum sollicitudin. Sed egestas urna a leo ullamcorper molestie. Vestibulum accumsan, lorem ac volutpat viverra, ex felis lacinia felis, condimentum pharetra magna ex ut elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus semper accumsan eros, id congue turpis malesuada ac. Donec eget porta felis. Phasellus eu massa massa. Vestibulum sem erat, imperdiet sed feugiat et, tempus nec turpis. Ut consectetur urna nec eros pharetra, consectetur feugiat ligula facilisis. +
++Sed ligula justo, vehicula eu purus et, porttitor congue nibh. Aliquam efficitur eros a nulla varius, in lacinia augue bibendum. In mi erat, rutrum id eleifend eget, scelerisque a arcu. Cras vel posuere urna. Mauris condimentum nunc orci, ut lacinia sem placerat sit amet. Suspendisse congue egestas ipsum quis efficitur. Aliquam justo est, mollis vel semper sit amet, consequat eu lorem. Phasellus vitae nunc in nisi hendrerit porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut viverra lacinia consequat. Fusce eget dui sed ex rhoncus mattis. Duis dignissim ut massa consequat tristique. Cras sollicitudin maximus eros at pulvinar. +
diff --git a/spec/LandingPageShr.html b/spec/LandingPageShr.html new file mode 100644 index 00000000..aa001e72 --- /dev/null +++ b/spec/LandingPageShr.html @@ -0,0 +1,51 @@ +
+ This is a preliminary version of the Standard Health Record (SHR) Health Level 7 (HL7) Fast Healthcare
+ Interoperability Resources (FHIR) profiles, extensions, value sets, and code systems.
+ For more information see the Standard Health Record
+ Collaborative .
+
+ The Standard Health Record (SHR) provides a high quality, computable source of patient information by + establishing a single target for health data standardization. The SHR is foundational, dealing first with the + reliable and repeatable collection and aggregation of a wide range of patient-focused data. Through the SHR, we + realize greater transparency, empowerment, and clinical interoperability that supports patients, caregivers, + clinicians, researchers, scientists, and public health organizations. +
++ Enabled through open source technology, the SHR is designed by, and for, its users to support communication + across homes and healthcare systems. The SHR enables organizations, and the American public, to realize the + benefits of improved care communication and coordination, reductions in medical errors, less waste, fraud, and + abuse, enhanced information sharing, and the decreased costs that accompany a large-scale focus on prevention. +
++ This Implementation Guide defines FHIR profiles, extensions, value sets, and code systems necessary to exchange + SHR elements using FHIR 3.0.1 (a.k.a. STU3). Many elements and fields in SHR do not have direct + equivalents in FHIR. Where possible, SHR element fields have been mapped to existing FHIR properties. When it is + not possible to map a field to a property, an extension is defined. In the spirit of re-usability, extensions + are defined globally and referenced wherever they are needed. +
++ HL7 FHIR and the Standard Health Record Collaborative are continually evolving works-in-progress. These + profiles use FHIR 3.0.1 (a.k.a. STU3), which is a pre-cursor to the final FHIR Normative release. The content + of the profiles is based on the latest SHR data element definitions as of the publish date. HL7 FHIR, the SHR, + and the SHR HL7 FHIR Profiles will all continue to evolve. +
++ The following are known issues and limitations as these specifications continue to evolve: +
+ This is a preliminary version of the Skin and Wound FHIR Implementation Guide, based on the Clinical Information Modeling Initative (CIMI) class structure, and including CIMI logical models, FHIR profiles, value sets, and extensions.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non lacus tellus. Mauris in luctus ex. Donec nec leo mauris. Suspendisse nec velit ullamcorper, condimentum neque vel, consequat massa. Ut mattis fermentum facilisis. Etiam ut tortor tortor. Nam eget egestas dolor. Pellentesque dignissim purus mauris, id auctor purus iaculis sit amet. +
++Quisque sagittis viverra lorem eget blandit. Morbi laoreet nulla ac metus accumsan, ac tristique urna molestie. Aenean ut tortor vitae nulla luctus suscipit. Proin augue risus, laoreet sed fringilla a, cursus sollicitudin ligula. Donec sed accumsan magna. Duis at molestie ex. Sed id condimentum massa. Nam quis metus et orci tincidunt aliquam at ac ipsum. Aliquam nec enim diam. Donec ante metus, fermentum eu massa ac, lobortis mattis velit. +
++Cras pellentesque efficitur consectetur. Duis sed tristique lorem. Fusce ultrices neque eu euismod rhoncus. Etiam scelerisque vehicula lacus ut faucibus. Fusce arcu lacus, tempus venenatis massa sit amet, dictum lobortis purus. In nunc nisi, consectetur semper magna sit amet, fermentum pulvinar dui. Nulla mollis dolor a diam condimentum sollicitudin. Sed egestas urna a leo ullamcorper molestie.
++Vestibulum accumsan, lorem ac volutpat viverra, ex felis lacinia felis, condimentum pharetra magna ex ut elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus semper accumsan eros, id congue turpis malesuada ac. Donec eget porta felis. Phasellus eu massa massa. Vestibulum sem erat, imperdiet sed feugiat et, tempus nec turpis. Ut consectetur urna nec eros pharetra, consectetur feugiat ligula facilisis. +
++Sed ligula justo, vehicula eu purus et, porttitor congue nibh. Aliquam efficitur eros a nulla varius, in lacinia augue bibendum. In mi erat, rutrum id eleifend eget, scelerisque a arcu. Cras vel posuere urna. Mauris condimentum nunc orci, ut lacinia sem placerat sit amet. Suspendisse congue egestas ipsum quis efficitur.
++Aliquam justo est, mollis vel semper sit amet, consequat eu lorem. Phasellus vitae nunc in nisi hendrerit porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut viverra lacinia consequat. Fusce eget dui sed ex rhoncus mattis. Duis dignissim ut massa consequat tristique. Cras sollicitudin maximus eros at pulvinar. +
++Aliquam justo est, mollis vel semper sit amet, consequat eu lorem. Phasellus vitae nunc in nisi hendrerit porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut viverra lacinia consequat. Fusce eget dui sed ex rhoncus mattis. Duis dignissim ut massa consequat tristique. Cras sollicitudin maximus eros at pulvinar. +
diff --git a/spec/breastcancerIndexContent.html b/spec/breastcancerIndexContent.html deleted file mode 100644 index 47b99b22..00000000 --- a/spec/breastcancerIndexContent.html +++ /dev/null @@ -1,88 +0,0 @@ - -This is a For-Comment ballot for the Breast Cancer Interoperability FHIR Implementation Guide (IG) sponsored by Clinical Information Council (CIC) Work Group, co-sponsored by the Clinical Information Modeling Initiative (CIMI), and created by the HL7 Cancer Interoperability Group, with input from providers, medical professional societies, vendors, and governmental organizations.
-This section provides orientation to the ballot materials.
-There are several representations of the same content in the ballot materials. Different representations will be useful to different audiences:
-The sponsoring work groups and the Cancer Interoperability Group are seeking both general and specific comments regarding this material.
-The Breast Cancer Interoperability FHIR Implementation Guide (IG) contains a subset of logical models for breast cancer focused on data elements used for breast cancer staging. FHIR profiles are provided as an example physical representation of the logical models. This IG also serves as a pilot for the Clinical Information Modeling Initiative (CIMI).
-Say more about ASCO project?
-Several oncology data models exist today. They were created by specialized communities and for specific purposes like generating synoptic reports for pathology, developing oncology treatment plans, reporting to cancer registries, and supporting clinical documentation in an oncology EHR. There is no clear agreement among these models, further complicating the seamless exchange of structured and coded data among these disparate systems. And yet, there is general consensus on the need to have a common set of data elements that allows for the seamless exchange of oncology data as one proceeds through the cancer patient journey of care.
-The HL7 Cancer Interoperability (CI) Project aims to address this concern with the goal of modeling cancer data in a way that can be used for the diagnosis, treatment, and research of cancer. The project is a collaboration of a diverse multidisciplinary group, involved in the diagnosis and treatment of cancer, but also the cancer research and surveillance communities.
-Landscape survey -- important!
-The IG covers oncology-specific data necessary support breast cancer treatment and research, focusing first and foremost on data driving clinical decision-making for medical and surgical oncologists. The first iteration of this guide is focused on breast cancer staging. The data required for staging involves several clinical domains and specialties, including medical oncology, surgical oncology, and anatomic pathology. The American Joint Commission on Cancer 8th Edition Staging Manual (AJCC-8) defines the elements used in staging breast cancer. These include TNM categories as well as other factors that are known to influence the prognosis of breast cancer patients, including: tumor grade, hormone receptor status (progesterone and estrogen), as well as human epidermal growth factor 2 (HER 2) status, among others.
-Over time, we expect the IG will incrementally evolve to cover a wider range of clinical domains (e.g. radiology, clinical genomics, interventional radiology), and expand its scope to include other key areas for breast cancer diagnosis and treatment (e.g. radiation therapy, chemotherapy), while supporting secondary data use in for clinical research, cancer registry reporting.
-Major sources of information
-Harmonization methodology
-CAP forms SDC
-AJCC staging
-Mostly local codes for now
-Pointers to AJCC copyrighted content
-The Standard Health Record Project
-Clinical Information Modeling and Profiling Language (CIMPL)
-Command Line Interpreter
-Clinical Information Modeling Computable Representation (CIMCORE)
-Reference Model Browser (Moradoc:-)
-Implementation Guide Generator
-The HL7 Clinical Information Modeling Initiative (CIMI) is co-sponsoring this project. To the extent possible, the breast cancer staging model has been based on the CIMI Reference Model (CIMI-RM). The last "official" release of the RM was Version 0.0.4, for the January 2018 ballot. The CIMI-RM is currently undergoing significant revisions as part of ongoing development and ballot reconciliation.
-While a serious attempt has been made to align to the CIMI-RM, it is not possible to say to what extent this model is "CIMI compliant" due to ongoing CIMI changes. Deviations from CIMI-RM are called out in the documentation of specific classes. These may be indicators where FHIR and CIMI might have to be more closely aligned. There are several areas and reasons the breast cancer model deviates from the CIMI-RM (Version 0.0.4):
-In addition, most of the oncology subclasses are derived in a way that may not be considered textbook CIMI. For example, BreastCancerStage is a child of EvaluationResultRecorded, which is a child of ClinicalStatement. CIMI topic-context pattern would require up to three classes, instead of the one: (1) a BreastCancerStageTopic class inheriting from EvaluationResultTopic, (2) a BreastCancerStageContext inheriting from RecordedContext (if required), and (3) a class or archetype that combines this topic and context into a clinical statement that represents the BreastCancerStage. Defining separate topic classes (and potentially new context classes) would roughly double the number of classes in the oncology logical model.
- -The CIMI community should also inspect the mappings between the breast cancer model and the FHIR profiles. The mappings are found on selected profile pages, on the Text Summary tab. Mappings are not part of all profiles because mappings can be inherited. For example, the mapping of breast cancer diagnosis is entirely based on the mapping found in ConditionPresenceStatement.
-The IG contains several different elements, accessed using the top level navigation tabs:
-This specification may contain and/or reference intellectual property owned by third parties ("Third Party IP"). Acceptance of the FHIR Licensing Terms does not grant any rights with respect to Third Party IP. The licensee alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize Third Party IP in connection with the specification or otherwise. Logical models related to cancer staging were based on American Joint Committee on Cancer (AJCC) version 8 staging manual. Use of this material may be subject to copyright, and require licensing from AJCC. Reference the AJCC Permission Requests for Cancer Staging Manual Material for further details.
diff --git a/spec/cimi_adverse.txt b/spec/cimi_adverse.txt index b8417c1d..6ce05a63 100644 --- a/spec/cimi_adverse.txt +++ b/spec/cimi_adverse.txt @@ -1,81 +1,77 @@ Grammar: DataElement 5.0 Namespace: cimi.adverse Description: "The CIMI Adverse domain contains definitions for describing adverse events and adverse reactions." -Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, cimi.statement, cimi.entity, shr.research +Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, cimi.statement, cimi.entity, shr.research, cimi.medication CodeSystem: MTH = http://ncimeta.nci.nih.gov -Element: AdverseEventTopic -Based on: AssertionTopic -Description: "The topic (independent of context) for any unfavorable and unintended sign, symptom, disease, or other medical occurrence with a temporal association with the use of a medical product, procedure or other therapy, or in conjunction with a research study, regardless of causal relationship. EXAMPLE(S): back pain, headache, pulmonary embolism, death. An AdverseEvent may also document a causal relationship to an intervention is at least a reasonable possibility i.e., the relationship cannot be ruled out." - TopicCode from MedDRAVS -0..1 AssociatedStudy - - Element: AssociatedStudy - Description: "The related clinical trial or other formal study." - Value: ref(Study) - -Element: AdverseEventPresenceContext -Based on: PresenceContext -Description: "The context for an adverse event that is known, suspected, or possibly occurred." -1..1 AdverseEventGrade -0..1 SeriousAdverseEvent +Element: AdverseEventEntry +Based on: InformationEntry +Description: "An entry in the patient record documenting an untoward or unexpected finding observed during the course of an activity or an activity. Adverse events may capture either a workflow breach that may or may not result in harm but that must be documented for quality improvement purposes or an adverse finding whether or not it can be traceable to an actual workflow breach." + SubjectOfInformation value is type ref(Patient) + Signed.Attribution.EntityOrRole is type PatientOrPractitionerOrRelatedPerson // to facilitate mapping to FHIR, which only allows Patient, Practitioner, or RelatedPerson as recorder (note: CLI crashes if we write this as Signed.Value.EntityOrRole) +0..1 Type from MedDRAVS // no topic code +1..1 OccurrenceTime +1..1 Seriousness from SeriousnessVS // to be replaced with http://hl7.org/fhir/ValueSet/adverse-event-seriousness in FHIR 4 //0..1 TBD "PatternOfEvent" // from STDM 0..1 Outcome from http://hl7.org/fhir/ValueSet/adverse-event-outcome -1..1 CauseCategory -0..* AdverseEventAttribution +0..1 Details // aka description +0..* CausalAttribution 0..* ActionTaken +0..1 AssociatedStudy - - Element: SeriousAdverseEvent - Concept: MTH#C1710056 - Description: "Clinical significance of adverse event usually associated with events that pose a threat to a patient's life or functioning. Seriousness of adverse event serves as a primary guide for defining regulatory reporting obligations and changes in medicinal product development and usage." - Value: CodeableConcept from YesNoUnknownVS - - Element: AdverseEventGrade // aka seriousness + Element: Seriousness // aka seriousness Concept: MTH#C2985911 Description: "A coded value specifying the level of injury suffered by the subject for whom the event is reported, using the CTCAE coding system." - Value: CodeableConcept from AdverseEventGradeVS - - Element: CauseCategory - Concept: TBD - Description: "Whether the adverse event is attributed to a treatment, course of the disease, unrelated to either, or unknown. " - Value: CodeableConcept from AttributionCategoryVS + Value: CodeableConcept - Element: AdverseEventAttribution + Element: CausalAttribution Concept: MTH#C1510821 "Adverse Event Attribution to Product or ProcedurePerformed" Description: "A possible cause of an observed adverse event, known or theorized. There can be more than one possible cause." - Value: CodeableConcept should be from http://hl7.org/fhir/ValueSet/substance-code or ref(Substance) or ref(ActionPerformedStatement) + Value: CodeableConcept should be from http://hl7.org/fhir/ValueSet/substance-code or ref(Substance) or ref(Medication) or ref(MedicationUsedStatement) or ref(Device) //ref(ActionPerformedStatement) + 1..1 CauseCategory 1..1 Certainty - 0..1 RouteIntoBody + 0..1 RouteIntoBody // aka exposure route + + Element: CauseCategory + Concept: TBD + Description: "Whether the adverse event is attributed to a treatment, course of the disease, unrelated to either, or unknown. " + Value: CodeableConcept from AttributionCategoryVS Element: ActionTaken Concept: TBD Description: "The action taken as a result of the adverse reaction. May include changing or discontinuing medication, reducing dose, etc." 1..1 Details - // TEMPORARY 0..1 ref(MedicationChange) + 0..1 ref(ActionStatement) // such as MedicationChangeStatement + Element: AssociatedStudy + Description: "The related clinical trial or other formal study." + Value: ref(Study) -//---------------- Instantiations -------------- -EntryElement: NoAdverseEventStatement -Based on: ClinicalStatement -Concept: MTH#C1963761 "No adverse event" -Description: "Documentation of a situation where no adverse event has been detected or is known." - StatementTopic is type AdverseEventTopic - StatementContext is type AbsenceContext // Non-occurrence context? +Element: AdverseReactionTopic +Based on: AssertionTopic +Description: "An instance of a negative response to a substance." +0..* Manifestation +0..* CausalAttribution -EntryElement: AdverseEventPresenceStatement -Based on: ClinicalStatement -Concept: MTH#C0877248 -Description: "The topic (independent of context) for any unfavorable and unintended sign, symptom, disease, or other medical occurrence with a temporal association with the use of a medical product, procedure or other therapy, or in conjunction with a research study, regardless of causal relationship. EXAMPLE(S): back pain, headache, pulmonary embolism, death. An AdverseEvent may also document a causal relationship to an intervention is at least a reasonable possibility i.e., the relationship cannot be ruled out." - Signed.Attribution.EntityOrRole is type PatientOrPractitionerOrRelatedPerson // to facilitate mapping to FHIR, which only allows Patient, Practitioner, or RelatedPerson as recorder (note: CLI crashes if we write this as Signed.Value.EntityOrRole) - StatementTopic is type AdverseEventTopic - StatementContext is type AdverseEventPresenceContext + Element: Manifestation + Concept: MTH#C1280464 + Description: "A sign or symptom of an underlying condition." + Value: CodeableConcept from ManifestationVS + 0..1 Severity from http://hl7.org/fhir/ValueSet/reaction-event-severity + +//---------------- Instantiations -------------- +EntryElement: AdverseReactionPresenceStatement +Based on: ClinicalStatement + StatementTopic is type AdverseReactionTopic + StatementContext is type PresenceContext +// AdverseReactionTopic.CausalAttribution value is type CodeableConcept // mapping to FHIR + -EntryElement: ToxicReaction // In truth, this should be a filter on AdverseEventPresenceStatement, not a separate class -Based on: AdverseEventPresenceStatement +EntryElement: ToxicEventEntry // In truth, this should be a filter on AdverseEventPresenceStatement, not a separate class +Based on: AdverseEventEntry Concept: MTH#C0542243 Description: "A grade 3 or 4 adverse reaction to medication, radiation treatment, or other therapy." - AdverseEventPresenceContext.AdverseEventGrade from ToxicReactionVS // restricted to grade 3, 4 or 5 + Seriousness from ToxicSeriousnessVS diff --git a/spec/cimi_adverse_map.txt b/spec/cimi_adverse_map.txt index df8395c8..dbdc435b 100644 --- a/spec/cimi_adverse_map.txt +++ b/spec/cimi_adverse_map.txt @@ -2,19 +2,18 @@ Grammar: Map 5.1 Namespace: cimi.adverse Target: FHIR_STU_3 -AdverseEventPresenceStatement maps to AdverseEvent: +AdverseEventEntry maps to AdverseEvent: Signed.Value.EntityOrRole maps to recorder // EntityOrRole is the name of the property; don't say Signed.Value.Role - AdverseEventTopic.TopicCode maps to type - AdverseEventTopic.Details maps to description -// Subject maps to subject - AdverseEventTopic.AssociatedStudy maps to study -// Grade - AdverseEventPresenceContext.SeriousAdverseEvent maps to seriousness - AdverseEventPresenceContext.Onset maps to date - AdverseEventPresenceContext.Outcome maps to outcome + Type maps to type + Details maps to description + SubjectOfInformation maps to subject + AssociatedStudy maps to study + Seriousness maps to seriousness + OccurrenceTime maps to date + Outcome maps to outcome // FHIR TODO: AdverseEvent.eventParticipant is underdefined (no role) - AdverseEventPresenceContext.AdverseEventAttribution maps to suspectEntity.instance - AdverseEventPresenceContext.AdverseEventAttribution.Certainty maps to suspectEntity.causalityAssessment - + CausalAttribution maps to suspectEntity.instance + CausalAttribution.Certainty maps to suspectEntity.causalityAssessment +//AdverseReactionStatement maps to ??? diff --git a/spec/cimi_adverse_vs.txt b/spec/cimi_adverse_vs.txt index 6915aea4..71b04022 100644 --- a/spec/cimi_adverse_vs.txt +++ b/spec/cimi_adverse_vs.txt @@ -3,12 +3,13 @@ Namespace: cimi.adverse CodeSystem: MDR = http://www.meddra.org CodeSystem: MTH = http://ncimeta.nci.nih.gov - +CodeSystem: SCT = http://snomed.info/sct ValueSet: MedDRAVS Includes codes from MDR -ValueSet: AdverseEventGradeVS +ValueSet: SeriousnessVS +Description: "Grade of adverse event." MTH#C1513302 "Mild Adverse Event. Transient or mild discomfort, no limitaion in activity; no medical intervention or therapy required" MTH#C1513374 "Moderate Adverse Event. Daily activity is affected moderately; some assistance might be needed; no or minimal medical intervention/therapy required." MTH#C1519275 "Severe Adverse Event. Daily activity is markedly reduced; some assistance usually required; medical intervention/therapy required, hospitalization or hospice care possible." @@ -25,7 +26,13 @@ Description: "Whether the adverse event is attributed to a treatment, course of #unknown "The causal category of the adverse event is unknown" -ValueSet: ToxicReactionVS +ValueSet: ToxicSeriousnessVS +Description: "Grade of adverse event at severe or higher grade." MTH#C1519275 "Severe Adverse Event. Daily activity is markedly reduced; some assistance usually required; medical intervention/therapy required, hospitalization or hospice care possible." MTH#C1517874 "Potentially Life-Threatening Adverse Event. Extreme limitation to daily activity, significant assistance required; significant medical intervention/therapy, hospitalization or hospice care very likely." -MTH#C1559081 "Fatal Adverse Event. Adverse event associated with death" \ No newline at end of file +MTH#C1559081 "Fatal Adverse Event. Adverse event associated with death" + +ValueSet: ManifestationVS +Description: "An observable sign or symptom of an underlying physical or psychological cause." +// TODO: Not sure the following implicit VS includes all signs and symptoms +Includes codes descending from SCT#418799008 "Condition reported by subject or history provider" \ No newline at end of file diff --git a/spec/shr_allergy.txt b/spec/cimi_allergy.txt similarity index 75% rename from spec/shr_allergy.txt rename to spec/cimi_allergy.txt index 532dc2af..70ba3c56 100644 --- a/spec/shr_allergy.txt +++ b/spec/cimi_allergy.txt @@ -1,7 +1,7 @@ Grammar: DataElement 5.0 -Namespace: shr.allergy -Description: "The SHR Allergy domain contains definitions for statements dealing with substance-related risks, including allergies and intolerances." -Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element +Namespace: cimi.allergy +Description: "The SHR Allergy domain contains definitions for statements dealing with substance-related risks, particularly, allergies and intolerances." +Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element, cimi.adverse CodeSystem: SCT = http://snomed.info/sct CodeSystem: CAT = http://hl7.org/fhir/allergy-intolerance-category @@ -14,6 +14,10 @@ Description: "A finding related to the presence or absence of an individual's ri 0..* SubstanceCategory from http://hl7.org/fhir/ValueSet/allergy-intolerance-category 0..1 Type from http://hl7.org/fhir/ValueSet/allergy-intolerance-type + Element: AllergenIrritant + Concept: TBD + Description:"A substance that causes an allergic reaction or irritation." + Value: CodeableConcept from http://hl7.org/fhir/us/core/ValueSet/us-core-substance Element: AdverseSensitivityPresenceContext Based on: PresenceContext @@ -22,7 +26,7 @@ Description: "Context for adverse sensitivities that are known or suspected to e 1..1 VerificationStatus from http://hl7.org/fhir/ValueSet/allergy-verification-status 0..1 Criticality from http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality 0..1 MostRecentOccurrenceTime -0..* AdverseReaction +0..* ref(AdverseReactionPresenceStatement) Element: SubstanceCategory Concept: TBD @@ -39,32 +43,12 @@ Description: "Context for adverse sensitivities that are known or suspected to e Description: "The time of the last or latest of a series of events." Value: dateTime - Element: AdverseReaction - Concept: MTH#C0559546 - Description: "An instance of a negative response to the allergy or intolerance." - 0..1 AllergenIrritant - 0..1 Manifestation - 0..1 Details - 0..1 OccurrenceTime - 0..1 Severity from http://hl7.org/fhir/ValueSet/reaction-event-severity - 0..1 RouteIntoBody - - Element: AllergenIrritant - Concept: TBD - Description:"A substance that causes an allergic reaction or irritation." - Value: CodeableConcept from http://hl7.org/fhir/us/core/ValueSet/us-core-substance - - Element: Manifestation - Concept: MTH#C1280464 - Description: "A sign or symptom of an underlying condition." - Value: CodeableConcept from ManifestationVS - //--------------- Instantiations ------------------- -EntryElement: AdverseSensitivityToSubstance +EntryElement: AdverseSensitivityToSubstanceStatement Based on: ClinicalStatement -Concept: SCT#420134006 "Propensity to adverse reactions" +Concept: SCT#473010000 "Hypersensitivity condition (disorder)" // or SCT#420134006 "Propensity to adverse reactions (disorder)"? Description: "A finding related to the presence or absence of an individual's risk or sensitivity to a substance or class of substances. A finding can be taken as tantamount to a representation of an allergic condition, allowing it to be tracked over time." 1..1 SubjectOfInformation value is type ref(Patient) SourceOfInformation value is type PatientOrPractitionerOrRelatedPerson @@ -73,41 +57,44 @@ Description: "A finding related to the presence or absence of an individual's ri StatementContext is type AdverseSensitivityPresenceContext 1..1 StatementTopic.AllergenIrritant // US Core requirement. See http://hl7.org/fhir/us/core/StructureDefinition-us-core-allergyintolerance.html StatementTopic.TopicCode is SCT#473010000 "Hypersensitivity condition (disorder)" +// not needed AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.CausalAttribution value is type CodeableConcept -EntryElement: NoAdverseSensitivityToSubstance +EntryElement: NoAdverseSensitivityToSubstanceStatement Based on: ClinicalStatement -Concept: MTH#C4508987 "No Allergy [to substance]" Description: "Used to record that a particular substance or class of substances does not pose a known elevated risk to the subject." 1..1 SubjectOfInformation value is type ref(Patient) SourceOfInformation value is type PatientOrPractitionerOrRelatedPerson Signed.Attribution.EntityOrRole is type PatientOrPractitioner StatementTopic is type AdverseSensitivityTopic + AdverseSensitivityTopic.TopicCode is SCT#716186003 "No known allergy (situation)" StatementContext is type AbsenceContext StatementTopic.TopicCode from NoKnownAllergyVS -EntryElement: NoKnownDrugAllergy -Based on: NoAdverseSensitivityToSubstance +EntryElement: NoKnownDrugAllergyStatement +Based on: NoAdverseSensitivityToSubstanceStatement AdverseSensitivityTopic.TopicCode is SCT#409137002 "No known drug allergy (situation)" 0..0 AdverseSensitivityTopic.AllergenIrritant 0..0 AdverseSensitivityTopic.SubstanceCategory //is CAT#medication -EntryElement: NoKnownFoodAllergy -Based on: NoAdverseSensitivityToSubstance +EntryElement: NoKnownFoodAllergyStatement +Based on: NoAdverseSensitivityToSubstanceStatement +Description: "Statement expressings no known allergies or hypersensitivity to any food substance." AdverseSensitivityTopic.TopicCode is SCT#429625007 "No known food allergy (situation)" 0..0 AdverseSensitivityTopic.AllergenIrritant 0..0 AdverseSensitivityTopic.SubstanceCategory //is CAT#food -EntryElement: NoKnownFoodAllergy -Based on: NoAdverseSensitivityToSubstance +EntryElement: NoKnownEvironmentalAllergyStatement +Based on: NoAdverseSensitivityToSubstanceStatement +Description: "Statement expressings no known allergies or hypersensitivity to environmental substances." AdverseSensitivityTopic.TopicCode is SCT#428607008 "No known environmental allergy (situation)" 0..0 AdverseSensitivityTopic.AllergenIrritant 0..0 AdverseSensitivityTopic.SubstanceCategory //is CAT#environment -EntryElement: NoKnownAllergy -Based on: NoAdverseSensitivityToSubstance +EntryElement: NoKnownAllergyStatement +Based on: NoAdverseSensitivityToSubstanceStatement Concept: MTH#C0262580 -Description: "Express no known allergies or hypersensitivity to any food, drug, biologic, or environmental substance." +Description: "Statement expressings no known allergies or hypersensitivity to any food, drug, biologic, or environmental substance." AdverseSensitivityTopic.TopicCode is SCT#716186003 "No known allergy (situation)" 0..0 AdverseSensitivityTopic.AllergenIrritant 0..0 AdverseSensitivityTopic.SubstanceCategory \ No newline at end of file diff --git a/spec/cimi_allergy_map.txt b/spec/cimi_allergy_map.txt new file mode 100644 index 00000000..d0c58ce5 --- /dev/null +++ b/spec/cimi_allergy_map.txt @@ -0,0 +1,56 @@ +Grammar: Map 5.1 +Namespace: cimi.allergy +Target: FHIR_STU_3 + + +AdverseSensitivityToSubstanceStatement maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: + SubjectOfInformation maps to patient + SourceOfInformation.Value maps to asserter + Signed.Value.EntityOrRole maps to recorder + _Entry.CreationTime maps to assertedDate + AdverseSensitivityTopic.AllergenIrritant maps to code + AdverseSensitivityTopic.Type maps to type + AdverseSensitivityTopic.SubstanceCategory maps to category + AdverseSensitivityPresenceContext.VerificationStatus maps to verificationStatus + AdverseSensitivityPresenceContext.ClinicalStatus maps to clinicalStatus + AdverseSensitivityPresenceContext.Criticality maps to criticality + AdverseSensitivityPresenceContext.Onset maps to onset[x] + AdverseSensitivityPresenceContext.MostRecentOccurrenceTime maps to lastOccurrence + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.Manifestation.Severity maps to reaction.severity + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.CausalAttribution.RouteIntoBody maps to reaction.exposureRoute + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.CausalAttribution maps to reaction.substance + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.Manifestation.Value maps to reaction.manifestation + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.AdverseReactionTopic.Details maps to reaction.description + AdverseSensitivityPresenceContext.AdverseReactionPresenceStatement.PresenceContext.Onset maps to reaction.onset + + +NoAdverseSensitivityToSubstanceStatement maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: + SubjectOfInformation maps to patient + SourceOfInformation.Value maps to asserter + Signed.Value.EntityOrRole maps to recorder + _Entry.CreationTime maps to assertedDate + AdverseSensitivityTopic.TopicCode maps to code + constrain type to 0..0 + constrain category to 0..0 + constrain clinicalStatus to 0..0 + constrain criticality to 0..0 + constrain onset[x] to 0..0 + constrain lastOccurrence to 0..0 + constrain reaction to 0..0 + + +NoKnownAllergyStatement maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: +constrain clinicalStatus to 0..0 +constrain criticality to 0..0 + + +/* fix code to SCT#716186003 + +NoKnownDrugAllergyStatement: + fix code to SCT#409137002 + +NoKnownFoodAllergyStatement: + fix code to SCT#429625007 + +NoKnownEnvironmentalAllergyStatement: + fix code to SCT#428607008 */ diff --git a/spec/shr_allergy_vs.txt b/spec/cimi_allergy_vs.txt similarity index 77% rename from spec/shr_allergy_vs.txt rename to spec/cimi_allergy_vs.txt index d45fd6ec..6dd4451e 100644 --- a/spec/shr_allergy_vs.txt +++ b/spec/cimi_allergy_vs.txt @@ -1,15 +1,11 @@ Grammar: ValueSet 5.0 -Namespace: shr.allergy +Namespace: cimi.allergy CodeSystem: SCT = http://snomed.info/sct CodeSystem: RXN = http://www.nlm.nih.gov/research/umls/rxnorm CodeSystem: AVS = http://hl7.org/fhir/allergy-verification-status -ValueSet: ManifestationVS -Description: "An observable sign or symptom of an underlying physical or psychological cause." -// TODO: Not sure the following implicit VS includes all signs and symptoms -Includes codes descending from SCT#418799008 "Condition reported by subject or history provider" ValueSet: AllergyVerificationStatusVS Description: "Whether the allergy has been verified or not. Intentionally a subset of the codes in FHIR, since refuted would be reflected by correcting the 'elevated risk' element, and records entered in error are not included in SHR." @@ -20,11 +16,10 @@ ValueSet: NoKnownAllergyVS Description: "Codes that express no known allergies to food, environmtal agents, drugs, etc." Includes codes descending from SCT#716186003 - +/* ValueSet: FoodSubstanceVS Includes codes descending from TBD#TBD -/* ValueSet: DrugIngredientVS Description: "Drug allergies involve ingredients or mixtures, not specific dose forms. The value set focuses on drug ingredients." // Includes codes from RXN with TTY=IN // See https://www.nlm.nih.gov/research/umls/rxnorm/docs/2015/appendix5.html for explanation of RxNorm term types (TTY) diff --git a/spec/cimi_context.txt b/spec/cimi_context.txt index 006ee860..03fa10bd 100644 --- a/spec/cimi_context.txt +++ b/spec/cimi_context.txt @@ -11,12 +11,13 @@ Concept: TBD Description: "Compositional and reusable grouping of clinical statement attributes that provides the context for the topic of a clinical statement. The StatementContext class aligns with the SNOMED CT Situations with Explicit Context (SWEC) Concept Model. The StatementContext provides the expressivity required to specify that an act was performed or not performed or that a finding was asserted to be present or absent for the given subject of information. It also often holds provenance information relevant to the context of the clinical statement. It is important to note that by default the context applies to the conjunction of the attribute specified in the statement. For instance, if a clinical statement has a topic describing a rash on left arm and a context of 'absent', then the statement states that the subject of interest did not have a rash on the left arm but might have had one on the right arm." 1..1 ContextCode +0..1 Encounter // clinical statements are often associated with specific encounters Element: ContextCode Concept: TBD Description: "A code representing the ontological status of the statement, e.g., whether it exists, does not exist, is planned, etc. Attribute aligns with the SNOMED CT Situation with Explicit Context (SWEC) Concept Model context attributes: 'Finding context (attribute)' (SCTID: 408729009) and 'Procedure context (attribute)' (SCTID: 408730004). The range allowed for this attribute shall be consistent with the SNOMED CT concept model specification for SWEC." - Value: CodeableConcept + Value: CodeableConcept Element: ActionContext Based on: StatementContext @@ -33,8 +34,7 @@ Based on: ActionContext Concept: TBD Description: "ActionContext indicating actual performance or execution of a healthcare-related action, e.g., 3rd dose of Hepatitis B vaccine administered on Dec 4th 2012, appendectomy performed today." 1..1 OccurrenceTimeOrPeriod // when the action took place -0..* Participant -0..1 Encounter +0..* Participant 1..1 Status should be from http://hl7.org/fhir/ValueSet/event-status 0..1 Method 0..* RelatedRequest @@ -102,7 +102,6 @@ Concept: MTH#C1705178 Based on: ActionContext Description: "An order for something to take place." 1..1 Status should be from http://hl7.org/fhir/ValueSet/request-status -0..1 Encounter // encounter when the request was made 1..1 RequestIntent 0..1 ExpectedPerformanceTime 0..1 ExpectedPerformerType @@ -163,7 +162,6 @@ Element: FindingContext Based on: StatementContext Concept: SCT#410514004 Description: "The base class for representing the ontological status of a finding, e.g., present, absent, goal, risk, expectation, etc. This class aligns with the SNOMED Situation with Explicit Context." -0..1 Encounter Element: AssertionContext @@ -175,7 +173,6 @@ Element: PresenceContext Based on: AssertionContext Concept: SCT#410515003 Description: "PresenceContext indicates that the finding in question exists or is present to some level of certainty. - For example, if the finding involves a myocardial infarction, the presence context implies that cardiac arrest has (or may have) taken place. Note that the name Presence is used rather than Present to prevent confusion with the temporal meaning of present." ContextCode from PresenceContextVS 1..1 VerificationStatus @@ -190,12 +187,12 @@ For example, if the finding involves a myocardial infarction, the presence conte Value: CodeableConcept Element: Onset - Concept: MTH#C0277793 + Concept: LNC#85585-8 Description: "The beginning or first appearance of a mental or physical disorder." Value: dateTime or Age or TimePeriod or Range or string Element: Abatement - Concept: MTH#C1880019 + Concept: LNC#88878-4 Description: "The end, remission or resolution." Value: dateTime or Age or boolean or TimePeriod or Range or string @@ -208,7 +205,6 @@ Element: ConditionPresenceContext Based on: PresenceContext Concept: TBD Description: "The context for a condition that is known, suspected, or possibly present." -// TBD: Subject is a required field -- does it come from SubjectOfInformation or PersonOfRecord? Or both (one overriding the other?) 1..1 ClinicalStatus from http://hl7.org/fhir/ValueSet/condition-clinical 0..1 WhenClinicallyRecognized 0..1 Preexisting @@ -227,7 +223,7 @@ Description: "The context for a condition that is known, suspected, or possibly Value: date Element: Preexisting - Concept: TBD + Concept: LNC#89251-3 "Condition present on admission" Description: "If the problem or condition existed before the current episode of care." Value: CodeableConcept from YesNoUnknownVS @@ -250,24 +246,20 @@ Description: "The context for a condition that is known, suspected, or possibly Element: StageDetail Concept: TBD Description: "The full staging information" - Value: ref(EvaluationResultRecorded) + Value: ref(Observation) - - Element: RecordedContext Based on: FindingContext Concept: TBD - Description: "Context for recording a finding, usually a Panel, used to indicate an evaluation has been made. - - For example, measurement of blood pressure that has been made simply exists (although the value can be present or absent, accurate or inaccurate). The RecordedContext indicates the information presented stands on its own as presented. It can also apply to clinical notes." + Description: "Context for recording a finding, used to indicate an evaluation has been made." ContextCode is SCT#424975005 "Record Entity" 0..1 Interpretation - 1..1 FindingStatus // why not in FindingContext? + 1..1 FindingStatus 0..1 RelevantTime // ClinicallyRelevantTime isn't a good name when it comes to employment and other life history events Element: Interpretation Concept: MTH#C0420833 - Description: "A clinical interpretation of a finding." + Description: "A clinical interpretation of a finding (applies to both assertions and observation)." Value: CodeableConcept from http://hl7.org/fhir/ValueSet/observation-interpretation if covered Element: FindingStatus @@ -282,13 +274,15 @@ Description: "The context for a condition that is known, suspected, or possibly The clinically relevant time is not necessarily when the information is gathered or when a test is carried out, but for example, when a specimen was collected, or the time period referred to by the question. Use a TimePeriod for a measurement or specimen collection continued over a significant period of time (e.g. 24 hour Urine Sodium)." Value: dateTime or TimePeriod - Element: EvaluationResultRecordedContext + Element: ObservationContext Based on: RecordedContext Concept: TBD Description: "Context for recording an evaluation result, used to indicate an evaluation has been made." 0..1 ResultValue 0..1 ExceptionValue from ExceptionValueVS if covered 0..1 DeltaFlag + 0..1 Issued + 0..* Observer Element: ResultValue Concept: TBD @@ -305,13 +299,20 @@ Description: "The context for a condition that is known, suspected, or possibly Description: "Indicator of significant change (delta) from the last or previous measurement." Value: CodeableConcept from DeltaFlagVS - + Element: Issued + Description: "The date and time this observation was made available to providers, typically after the results have been reviewed and verified." + Value: instant + + Element: Observer + Description: "The person or organization who observed or informed the reporter about the characteristic, potentially the clinician, the patient, or a related person." + Value: ref(Practitioner) or ref(Organization) or ref(Patient) or ref(RelatedPerson) + Element: AbsenceContext - Based on: FindingContext + Based on: AssertionContext Concept: TBD Description: "Indicates the finding in question is either known absent (ruled out), not suspected, or unknown." ContextCode from AbsenceContextVS - + Element: AtRiskContext Based on: FindingContext Concept: SCT#410519009 diff --git a/spec/cimi_context_vs.txt b/spec/cimi_context_vs.txt index b34226bd..94170608 100644 --- a/spec/cimi_context_vs.txt +++ b/spec/cimi_context_vs.txt @@ -70,4 +70,17 @@ SCT#410518001 "Goal" ValueSet: DeltaFlagVS Concept: MTH#C1705241 Description: "Indicators for degree of change (delta) from the last or previous measurement." -Includes codes descending from SCT#263703002 "Changed status (qualifier value)" \ No newline at end of file +Includes codes descending from SCT#263703002 "Changed status (qualifier value)" +// Also see LOINC #89253-9 Trend ... has values improved, deteriorated, stablized, resolved + +/* +ValueSet: DeltaFlagVS +Description: "Change patterns and trends, including resolved." +Includes codes descending from SCT#385634002 "Change patterns (qualifier value)" +//SCT#58158008 "Stable (qualifier value)" +//SCT#385633008 "Improving (qualifier value)" +//SCT#230993007 "Worsening (qualifier value)" +//SCT#260369004 "Increasing (qualifier value)" +//SCT#260371004 "Decreasing (qualifier value)" +SCT#723506003 "Resolved (qualifier value)" +*/ \ No newline at end of file diff --git a/spec/cimi_element.txt b/spec/cimi_element.txt index 516401d3..f764efce 100644 --- a/spec/cimi_element.txt +++ b/spec/cimi_element.txt @@ -48,7 +48,7 @@ Description: "The way a substance enters an organism after contact, particularly Value: CodeableConcept from http://hl7.org/fhir/ValueSet/route-codes Element: AnatomicalLocation -Concept: MTH#C1545955 +Concept: LNC#72369-2 // Body site identification panel Description: "A location or structure in the body, including tissues, regions, cavities, and spaces; for example, right elbow, or left ventricle of the heart." Value: CodeableConcept from AnatomicalLocationVS 0..1 Laterality diff --git a/spec/cimi_entity.txt b/spec/cimi_entity.txt index 13e0efd8..b381444e 100644 --- a/spec/cimi_entity.txt +++ b/spec/cimi_entity.txt @@ -4,18 +4,17 @@ Description: "The namespace containing definitions for basic classes in CIMI." Uses: shr.core, cimi.core, cimi.context, cimi.element, cimi.statement -Abstract Element: EntityOrRole +Abstract Element: EntityOrRole Based on: Independent Description: "Parent class entity and role." //Identifier -Abstract Element: Role +Abstract Element: Role Based on: EntityOrRole Description: "Capacity in which an actor is involved in an activity. For instance, 'attending physician'. Note that attributes of the actor (an entity) that remain constant regardless of the role the actor plays should be part of the entity and not the role. For instance, a person may be a practitioner and a patient. In both cases their date of birth will be the same and thus such information should not be part of the role." - -Abstract Element: Entity +Abstract Element: Entity Based on: EntityOrRole Concept: TBD Description: "Root class for entities such as people, organizations, and devices that have a separately identifiable existence." @@ -193,10 +192,10 @@ Based on: EntityOrRole Description: "A choice of Practitioner and RelatedPerson. Needed for mapping to FHIR, for example, mapping EncounterPerformed.Participant to FHIR Encounter.participant.individual" Value: ref(Practitioner) or ref(RelatedPerson) -Element: PatientOrPractitionerOrRelatedPersonOrOrganization +Element: AnyPersonOrOrganization Based on: EntityOrRole Description: "Needed for mapping to FHIR, for example, mapping to FHIR MedicationStatement.informationSource." -Value: ref(Patient) or ref(Practitioner) or ref(RelatedPerson) +Value: ref(Patient) or ref(Practitioner) or ref(RelatedPerson) //or ref(Organization) EntryElement: Group @@ -401,7 +400,7 @@ Description: "A person relevant to the health or social situation of the subject Element: Headshot Concept: TBD Description: "A photograph showing a person's face." - Value: Attachment + Value: Media Element: LanguageUsed // needs to be aligned with CCDA 2.1 Concept: TBD @@ -445,7 +444,7 @@ Description: "A person relevant to the health or social situation of the subject Element: AgeAtDeath Concept: MTH#C1546180 Description: "The age, age range, or age group when the cessation of life happens." - Value: Age or AgeRange + Value: Age or Range Element: ActiveFlagAsaCodeableConcept Concept: TBD diff --git a/spec/cimi_medication.txt b/spec/cimi_medication.txt index b6ebf306..bbf05480 100644 --- a/spec/cimi_medication.txt +++ b/spec/cimi_medication.txt @@ -1,7 +1,7 @@ Grammar: DataElement 5.0 Namespace: cimi.medication Description: "The CIMI Medication domain contains definitions related to medications taken, or not taken, by the person of record, both currently and in the past." -Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, cimi.statement, cimi.entity +Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.encounter /* Taking out for now since the Planned context has not been defined EntryElement: MedicationRegimen // Definitional @@ -99,12 +99,29 @@ Based on: MedicationTopic Concept: TBD Description: "A course or dose of medication for a patient, independent of context of being recommended, used, or not used. Medication use can be reported, directly observed, or inferred from clinical events associated with orders, prescriptions written, pharmacy dispensings, procedural administrations, and other patient-reported information." - + +Element: MedicationChangeTopic +Based on: ActionTopic +1..1 Type from MedicationChangeTypeVS //"Whether the change is a dose change, switch to a new medication, or discontinuation." +0..* MedicationBeforeChange //might be more than one +0..* MedicationAfterChange + + Element: MedicationBeforeChange + Concept: TBD + Description: "The medication taken, prior to the change." + Value: ref(MedicationDispenseRequestedStatement) or ref(MedicationUsedStatement) + + Element: MedicationAfterChange + Concept: TBD + Description: "The medication taken, prior to the change." + Value: ref(MedicationDispenseRequestedStatement) or ref(MedicationUsedStatement) + + EntryElement: MedicationUsedStatement -Based on: ClinicalStatement +Based on: ActionPerformedStatement Concept: TBD Description: "A record of the use of a medication." - SourceOfInformation value is type PatientOrPractitionerOrRelatedPersonOrOrganization + SourceOfInformation value is type AnyPersonOrOrganization StatementTopic is type MedicationUseTopic 0..1 MedicationUseTopic.Category should be from http://hl7.org/fhir/ValueSet/medication-statement-category StatementContext is type PerformedContext @@ -112,14 +129,14 @@ Description: "A record of the use of a medication." 0..0 PerformedContext.Method // because of Dosage.Method EntryElement: MedicationAdherenceStatement // This could be attached to MedicationUsed directly as an extension, but modeling as an observation avoids creating an extension -Based on: CodedEvaluationResultRecorded +Based on: SimpleCodedNonLaboratoryObservation Concept: MTH#C2364172 Description: "The degree (frequency) that the stated treatment plan, prescription, or protocol was followed. A statement of the ability and cooperation of the patient in taking medicine or supplement as recommended or prescribed. This includes correct timing, dosage, and frequency." - EvaluationResultRecordedContext.ResultValue from QualitativeFrequencyVS - EvaluationResultTopic.TopicCode is MTH#C2364172 - EvaluationResultTopic.Focus value is type ref(EntityOrRole) - EvaluationResultTopic.Focus.EntityOrRole is type ref(Medication) -0..* MedicationNonAdherenceReason + ObservationContext.ResultValue from QualitativeFrequencyVS + ObservationTopic.TopicCode is MTH#C2364172 + ObservationTopic.Focus value is type ref(EntityOrRole) + ObservationTopic.Focus.EntityOrRole is type ref(Medication) +0..* MedicationNonAdherenceReason Element: MedicationNonAdherenceReason Description: "Reason that patient did not adhere to a medication regimen." @@ -127,69 +144,49 @@ Description: "The degree (frequency) that the stated treatment plan, prescriptio EntryElement: MedicationNotUsedStatement -Based on: ClinicalStatement +Based on: ActionNotPerformedStatement Concept: TBD Description: "A record of a medication NOT used. Although usually not required, a medication not used is sometimes reported when deviating from normal expectation or care plan." - SourceOfInformation value is type PatientOrPractitionerOrRelatedPersonOrOrganization + SourceOfInformation value is type AnyPersonOrOrganization StatementTopic is type MedicationUseTopic 0..1 MedicationUseTopic.Category should be from http://hl7.org/fhir/ValueSet/medication-statement-category 0..0 MedicationUseTopic.Dosage - StatementContext is type NotPerformedContext NotPerformedContext.Reason from MedicationNotUsedReasonVS EntryElement: MedicationDispenseRequestedStatement -Based on: ClinicalStatement +Based on: ActionRequestedStatement Concept: TBD Description: "An order for a medication to be dispensed and instructions for use." StatementTopic is type MedicationDispenseTopic - StatementContext is type RequestedContext RequestedContext.Status from http://hl7.org/fhir/ValueSet/medication-request-status RequestedContext.PriorityRank from http://hl7.org/fhir/ValueSet/medication-request-priority EntryElement: MedicationNotPrescribedStatement -Based on: ClinicalStatement +Based on: ActionRequestedAgainstStatement Concept: TBD Description: "A record of a medication NOT being prescribed. Recorded only when deviating from the normal expectation, care plan, or standard of care." StatementTopic is type MedicationDispenseTopic - StatementContext is type RequestedAgainstContext RequestedAgainstContext.Reason from MedicationNotUsedReasonVS Element: MedicationDispensedStatement -Based on: ClinicalStatement +Based on: ActionPerformedStatement Concept: TBD Description: "Indicates that a medication product has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order." StatementTopic is type MedicationDispenseTopic - StatementContext is type PerformedContext Element: MedicationNotDispensedStatement -Based on: ClinicalStatement +Based on: ActionNotPerformedStatement Concept: TBD Description: "Indicates that a medication product has NOT been dispensed for a named person/patient. This may be a result of the timing out of an order or detection of pharmacist of duplicate prescription or other reason." StatementTopic is type MedicationDispenseTopic - StatementContext is type NotPerformedContext EntryElement: MedicationChangeStatement -Based on: ClinicalStatement +Based on: ActionPerformedStatement Concept: MTH#C0554834 Description: "Description of a modification or change of a medication or dosage." StatementTopic is type MedicationChangeTopic - StatementContext is type PerformedContext PerformedContext.Reason from MedicationChangeReasonVS // why was the medication changed? -Element: MedicationChangeTopic -Based on: ActionTopic -1..1 Type from MedicationChangeTypeVS //"Whether the change is a dose change, switch to a new medication, or discontinuation." -0..* MedicationBeforeChange //might be more than one -0..* MedicationAfterChange - Element: MedicationBeforeChange - Concept: TBD - Description: "The medication taken, prior to the change." - Value: ref(MedicationDispenseRequestedStatement) or ref(MedicationUsedStatement) - - Element: MedicationAfterChange - Concept: TBD - Description: "The medication taken, prior to the change." - Value: ref(MedicationDispenseRequestedStatement) or ref(MedicationUsedStatement) diff --git a/spec/cimi_medication_map.txt b/spec/cimi_medication_map.txt index 7fc6f936..f7b2ec64 100644 --- a/spec/cimi_medication_map.txt +++ b/spec/cimi_medication_map.txt @@ -10,7 +10,7 @@ Dosage maps to Dosage: AdditionalDoseInstruction maps to additionalInstruction RouteIntoBody maps to route AdministrationMethod maps to method - AdministrationBodySite maps to site + AdministrationBodySite.Value maps to site MaximumDosePerTimePeriod maps to maxDosePerPeriod MedicationUsedStatement maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationstatement: diff --git a/spec/cimi_procedure.txt b/spec/cimi_procedure.txt index eac2ef0c..726b980f 100644 --- a/spec/cimi_procedure.txt +++ b/spec/cimi_procedure.txt @@ -5,7 +5,6 @@ Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, CodeSystem: OBSCAT = http://hl7.org/fhir/observation-category - Element: ProcedureTopic Based on: ActionTopic Concept: TBD @@ -145,6 +144,11 @@ Description: "The performed context with constraints applicable to procedures." Based on: Participant Description: "Constraints participants to classes that are accepted by FHIR as actors in procedures." Value: ref(Practitioner) or ref(Organization) or ref(Patient) or ref(RelatedPerson) or ref(Device) +// inherited attributes: +// 0..1 ParticipationType // role +// 0..1 ParticipationPeriod +// 0..1 OnBehalfOf + Element: OutputFinding Description: "Patient findings documented during the performance of the procedure." diff --git a/spec/cimi_procedure_vs.txt b/spec/cimi_procedure_vs.txt deleted file mode 100644 index d187f013..00000000 --- a/spec/cimi_procedure_vs.txt +++ /dev/null @@ -1,26 +0,0 @@ -Grammar: ValueSet 5.0 -Namespace: cimi.procedure - - -CodeSystem: LNC = http://loinc.org -CodeSystem: MTH = http://ncimeta.nci.nih.gov - -/* Not Used -ValueSet: RequestStatusVS -#active "The request is complete and is ready for fulfillment." -#in_progress "The request is being carried out." -#suspended "The request has been held by originating system/user request." -#completed "The diagnostic testing has been completed, the report(s) released, and no further work is planned." -*/ - -ValueSet: DeltaFlagVS -Concept: MTH#C1705241 -MTH#C2346711 "About the same" -TBD#TBD "Significant change" -MTH#C0332272 "Better" -MTH#C1457868 "Worse" -MTH#C3854148 "Significant change up" -MTH#C3854147 "Significant change down" - - - diff --git a/spec/cimi_statement.txt b/spec/cimi_statement.txt index b98f035e..5bd15155 100644 --- a/spec/cimi_statement.txt +++ b/spec/cimi_statement.txt @@ -18,114 +18,220 @@ The ClinicalStatement class provides the core pattern for more specific clinical 1..1 StatementTopic 1..1 StatementContext -Abstract Element: ActionPerformedStatement +//---------- Actions -------------- + +Abstract Element: ActionStatement Based on: ClinicalStatement -Description: "Abstract class representing performance of any type of action." +Description: "Abstract class representing any type of action, independent of context." StatementTopic is type ActionTopic + +Abstract Element: ActionPerformedStatement +Based on: ActionStatement +Description: "Abstract class representing performance of any type of action." StatementContext is type PerformedContext Abstract Element: ActionRequestedStatement -Based on: ClinicalStatement +Based on: ActionStatement Description: "Abstract class representing a request for any type of action." - StatementTopic is type ActionTopic StatementContext is type RequestedContext Abstract Element: ActionNotPerformedStatement -Based on: ClinicalStatement +Based on: ActionStatement Description: "Abstract class representing non-performance of any type of action." - StatementTopic is type ActionTopic StatementContext is type NotPerformedContext Abstract Element: ActionRequestedAgainstStatement -Based on: ClinicalStatement +Based on: ActionStatement Description: "Abstract class representing a request to not perform any type of action." - StatementTopic is type ActionTopic StatementContext is type RequestedAgainstContext +//-------------Findings------------ + Abstract Element: FindingStatement Based on: ClinicalStatement Description: "Any clinical statement representing a finding." - StatementTopic is type FindingTopic - StatementContext is type FindingContext - -Element: EvaluationResultRecorded -Based on: ClinicalStatement + StatementTopic is type FindingTopic + +/* +[Entry]ShrId +[Entry]EntryId +[Entry]PersonOfRecord +[Entry]Version +[Entry]EntryType +[Entry]CreationTime +[Entry]LastUpdated +[Entry]Narrative +[Entry]Language +[Entry]SecurityLabel +[Entry]Tag +[Entry]DerivedFrom +[InformationEntry]SubjectOfInformation +[InformationEntry]SourceOfInformation +[InformationEntry]Annotation +[InformationEntry]RecordStatus +[InformationEntry]Recorded (who-when) +[InformationEntry]Signed (who-when) +[InformationEntry]Cosigned (who-when) +[InformationEntry]Verified (who-when) +FindingTopic.FindingMethod +FindingTopic.Details +*/ + +EntryElement: Observation // TODO: be consistent, or stop using the word "Statement" in class names +Based on: FindingStatement Concept: TBD Description: "Represents the result of evaluations (measurements, tests, or questions) that have been performed. -EvaluationResultRecorded has a value representing the result (answer), or an ExceptionValue indicating why the value is not present. The subject of a finding can be the entire patient, or an entity such as a location body structure, intervention, or condition. Things observed about the subject can include social and behavioral factors, subjective and objective observations, and assessments." - StatementTopic is type EvaluationResultTopic - StatementContext is type EvaluationResultRecordedContext - -Element: CodedEvaluationResultRecorded -Based on: EvaluationResultRecorded +Observation has a value representing the result (answer), or an ExceptionValue indicating why the value is not present. The subject of a finding can be the entire patient, or an entity such as a location body structure, intervention, or condition. Things observed about the subject can include social and behavioral factors, subjective and objective observations, and assessments." + StatementTopic is type ObservationTopic + StatementContext is type ObservationContext + SubjectOfInformation value is type ref(Patient) // FHIR to align with US Core Result + SourceOfInformation value is type AnyPersonOrOrganization // mapped to performer (who made the observation) +/* + Here's a list of all the attributes of Observation. + To keep things straight, always consider the constraints on each element in this order: + // ClinicalStatement + SubjectOfInformation + SourceOfInformation + Annotation + RecordStatus + Recorded + Signed // aka Author + Cosigned + Verified + // Topic + ObservationTopic.TopicCode + ObservationTopic.FindingMethod + ObservationTopic.Details + ObservationTopic.Category from http://hl7.org/fhir/ValueSet/observation-category if covered + ObservationTopic.AnatomicalLocation // TODO: Change from element to code to align with FHIR?? + ObservationTopic.Focus + ObservationTopic.ref(Device) + ObservationTopic.ref(Specimen) + ObservationTopic.DiagnosticService + ObservationTopic.Precondition + ObservationTopic.ReferenceRange + ObservationTopic.EvaluationComponent + ObservationTopic.PanelMembers + ObservationTopic.EvaluationComponent.Value + ObservationTopic.EvaluationComponent.ExceptionValue + ObservationTopic.EvaluationComponent.Interpretation + ObservationTopic.EvaluationComponent.ReferenceRange + // Context + ObservationContext.ContextCode is SCT#424975005 "Record Entity" + ObservationContext.Interpretation + ObservationContext.FindingStatus + ObservationContext.RelevantTime + ObservationContext.Encounter + ObservationContext.ResultValue + ObservationContext.ExceptionValue + ObservationContext.DeltaFlag +*/ + +// Non-Laboratory Results + +EntryElement: NonLaboratoryObservation +Based on: Observation +Description: "An observation not based on a specimen." +0..0 ObservationTopic.Specimen +0..0 ObservationTopic.DiagnosticService + +EntryElement: SimpleNonLaboratoryObservation +Based on: NonLaboratoryObservation +Description: "An observation having no components or panel members" +0..0 ObservationTopic.EvaluationComponent +0..0 ObservationTopic.PanelMembers + +EntryElement: CodedNonLaboratoryObservation +Based on: NonLaboratoryObservation Concept: TBD -Description: "Represents the result of evaluations (measurements, tests, or questions) that have been performed whose answer is expressed as a code." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept -0..0 EvaluationResultTopic.ReferenceRange - -Element: NonLabCodedEvaluationResultRecorded -Based on: CodedEvaluationResultRecorded -Description: "A coded finding not based on a sample or measurement device." -0..0 EvaluationResultTopic.Device -0..0 EvaluationResultTopic.Specimen - - -Element: PanelRecorded -Based on: LaboratoryTestResultRecorded - StatementTopic is type PanelTopic - -Element: NonLabPanelRecorded -Based on: EvaluationResultRecorded - StatementTopic is type PanelTopic -0..0 EvaluationResultRecordedContext.ResultValue // this might have to be on a class by class basis -0..0 EvaluationResultRecordedContext.ExceptionValue -0..0 PanelTopic.Device -0..0 PanelTopic.Specimen -0..0 PanelTopic.ReferenceRange - -Element: LaboratoryTestResultRecorded -Based on: EvaluationResultRecorded -Description: "Measurement resulting from a laboratory analysis. The category is fixed to 'laboratory' to align with US-Core." -0..* DiagnosticService - EvaluationResultTopic.Category is OBSCAT#laboratory - - Element: DiagnosticService - Concept: TBD - Description: "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes." - Value: CodeableConcept from DiagnosticServiceVS if covered - - -Element: SimplifiedLaboratoryTestResultRecorded -Based on: LaboratoryTestResultRecorded -Description: "The usual case for a test result from a pathology lab, based on a specimen taken from a patient. Note that the body site is not explicit here; it is part of the specimen resource associated with the lab result." -0..0 EvaluationResultTopic.Precondition -0..0 EvaluationResultTopic.ReferenceRange -0..0 PanelMembers -0..0 EvaluationResultTopic.AnatomicalLocation // AnatomicalLocation is covered in the Specimen collection - +Description: "The result of evaluations (measurements, tests, or questions) whose answer is expressed as a code." + ObservationContext.ResultValue value is type CodeableConcept +0..0 ObservationTopic.ReferenceRange + +EntryElement: SimpleCodedNonLaboratoryObservation +Based on: CodedNonLaboratoryObservation +Description: "An observation whose result is a code, and also having no components or panel members" +0..0 ObservationTopic.EvaluationComponent +0..0 ObservationTopic.PanelMembers + +EntryElement: ComponentOnlyNonLaboratoryObservation +Based on: NonLaboratoryObservation +Description: "An observation with components, but without a result value or panel members." +0..0 ObservationContext.ResultValue +0..0 ObservationContext.ExceptionValue +0..0 ObservationTopic.PanelMembers +0..0 ObservationTopic.ReferenceRange + +EntryElement: PanelOnlyNonLaboratoryObservation +Based on: NonLaboratoryObservation +Description: "An observation with panel members, but without a result value or components." +0..0 ObservationContext.ResultValue +0..0 ObservationContext.ExceptionValue +0..0 ObservationTopic.ReferenceRange +0..0 ObservationTopic.EvaluationComponent +1..1 ObservationTopic.PanelMembers + +// Laboratory Measurements and Results + +EntryElement: LaboratoryObservation +Based on: Observation +Description: "A coded finding based on a specimen collected from a patient." +1..1 ObservationTopic.Specimen +0..0 ObservationTopic.AnatomicalLocation // AnatomicalLocation is where the Specimen was collected + ObservationTopic.Category is OBSCAT#laboratory + +EntryElement: CodedLaboratoryObservation +Based on: LaboratoryObservation +Description: "A coded finding from a laboratory test." + ObservationContext.ResultValue value is type CodeableConcept +0..0 ObservationTopic.ReferenceRange + +EntryElement: SimpleLaboratoryObservation +Based on: LaboratoryObservation +Description: "A coded finding from a laboratory test without further panel members or components." +0..0 ObservationTopic.EvaluationComponent +0..0 ObservationTopic.PanelMembers + +EntryElement: SimpleCodedLaboratoryObservation +Based on: CodedLaboratoryObservation +Description: "A coded finding from a laboratory test without further panel members or components." +0..0 ObservationTopic.EvaluationComponent +0..0 ObservationTopic.PanelMembers + +//---------- Assertions ------------- + +Abstract Element: AssertionStatement +Based on: FindingStatement +Description: "A clinical statement that asserts presence or absence." + +Abstract Element: AssertionPresenceStatement // AssertPresence +Based on: AssertionStatement +Description: "Statement that a finding is present." + StatementContext is type PresenceContext + +Abstract Element: AssertionAbsenceStatement // AssertAbsence +Based on: AssertionStatement +Description: "Statement that a finding is absent." + StatementContext is type AbsenceContext EntryElement: ConditionPresenceStatement -Based on: ClinicalStatement +Based on: AssertionPresenceStatement Concept: TBD -Description: "A condition that is or may be present in a subject. 'Condition' is interpreted broadly and could be a disorder, abnormality, problem, injury, complaint, functionality, illness, disease, ailment, sickness, affliction, upset, difficulty, disorder, symptom, worry, or trouble. - -In CIMI terms, it is an archetype of ClinicalStatement that combines a ConditionTopic with the ConditionPresenceContext context. The core attributes of ClinicalStatement are not included here because of mapping difficulties to FHIR DomainResource." +Description: "A condition that is or may be present in a subject. 'Condition' is interpreted broadly and could be a disorder, abnormality, problem, injury, complaint, functionality, illness, disease, ailment, sickness, affliction, upset, difficulty, disorder, symptom, worry, or trouble." SourceOfInformation value is type PatientOrPractitionerOrRelatedPerson StatementTopic is type ConditionTopic StatementContext is type ConditionPresenceContext SubjectOfInformation value is type ref(Patient) EntryElement: ConditionAbsenceStatement -Based on: ClinicalStatement +Based on: AssertionAbsenceStatement Concept: MTH#C0277541 "no disease present" Description: "A finding that a condition is or was not present in the subject at a certain time, not necessarily the time the information is gathered." StatementTopic is type ConditionTopic - StatementContext is type AbsenceContext EntryElement: ClinicalNote -Based on: ClinicalStatement +Based on: FindingStatement Concept: MTH#C0747978 "Progress Note" Description: "An entry concerning a patient where the result is a narrative text. Can be related to a specific Focus, such as a condition; and evidence and interpretation from FindingTopic." - StatementTopic is type FindingTopic StatementContext is type RecordedContext -1..1 StatementTopic.Details // change to "description" to synch with CIMI +1..1 StatementTopic.Details // TODO: change to "description" to synch with CIMI \ No newline at end of file diff --git a/spec/cimi_statement_map.txt b/spec/cimi_statement_map.txt index daf92004..4fbc1966 100644 --- a/spec/cimi_statement_map.txt +++ b/spec/cimi_statement_map.txt @@ -3,49 +3,52 @@ Namespace: cimi.statement Target: FHIR_STU_3 -EvaluationResultRecorded maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults: - EvaluationResultTopic.Category maps to category - EvaluationResultTopic.FindingMethod maps to method - EvaluationResultTopic.TopicCode maps to code - EvaluationResultTopic.AnatomicalLocation maps to bodySite - EvaluationResultTopic.Specimen maps to specimen - EvaluationResultRecordedContext.ResultValue maps to value[x] - EvaluationResultRecordedContext.ExceptionValue maps to dataAbsentReason - EvaluationResultRecordedContext.Interpretation maps to interpretation - EvaluationResultRecordedContext.RelevantTime maps to effective[x] - EvaluationResultRecordedContext.FindingStatus maps to status - EvaluationResultTopic.ReferenceRange maps to referenceRange - EvaluationResultTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low - EvaluationResultTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high - EvaluationResultTopic.ReferenceRange.Type maps to referenceRange.type - EvaluationResultTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo - EvaluationResultTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age -// fix related.type to #has-member - EvaluationResultTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes) - EvaluationResultTopic.EvaluationComponent._Concept maps to component.code - EvaluationResultTopic.EvaluationComponent.ComponentResultValue maps to component.value[x] - EvaluationResultTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason - EvaluationResultTopic.EvaluationComponent.Interpretation maps to component.interpretation - EvaluationResultTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange -// EvaluationResultTopic.PanelMembers.EvaluationResultRecorded maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes) - - -PanelRecorded maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults: - fix related.type to #has-member - PanelTopic.PanelMembers.EvaluationResultRecorded maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes) - -NonLabPanelRecorded maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults: +Observation maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults: + SubjectOfInformation maps to subject +// SourceOfInformation.Value maps to performer // Why doesn't this work??? +// Annotation maps to extension +// RecordStatus maps to extension +// Cosigned maps to extension +// Verified maps to extension + ObservationTopic.TopicCode maps to code + ObservationTopic.FindingMethod maps to method + ObservationTopic.Details maps to comment +// ObservationTopic.Media maps to extension + ObservationTopic.Category maps to category + ObservationTopic.AnatomicalLocation maps to bodySite +// ObservationTopic.Focus maps to extension (until FHIR 4) Note that http://hl7.org/fhir/StructureDefinition/observation-focal-subject is a CodeableConcept + ObservationTopic.Device maps to device + ObservationTopic.Specimen maps to specimen +// ObservationTopic.Precondition maps to extension + ObservationTopic.ReferenceRange maps to referenceRange + ObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low + ObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high + ObservationTopic.ReferenceRange.Type maps to referenceRange.type + ObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo + ObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age +// ObservationTopic.DiagnosticService maps to extension + ObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes) + ObservationTopic.EvaluationComponent._Concept maps to component.code + ObservationTopic.EvaluationComponent.Value maps to component.value[x] + ObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason + ObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation + ObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange fix related.type to #has-member - PanelTopic.PanelMembers.EvaluationResultRecorded maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes) - -SimplifiedLaboratoryTestResultRecorded: - constrain related to 0..0 // no PanelMembers (not a panel) - + ObservationTopic.PanelMembers.Observation maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes) +// ObservationContext.ContextCode maps to nothing // drop + ObservationContext.ResultValue maps to value[x] + ObservationContext.ExceptionValue maps to dataAbsentReason + ObservationContext.Interpretation maps to interpretation + ObservationContext.Issued maps to issued + ObservationContext.FindingStatus maps to status + ObservationContext.RelevantTime maps to effective[x] + ObservationContext.Encounter maps to context + ObservationContext.DeltaFlag maps to http://hl7.org/fhir/StructureDefinition/observation-delta ConditionPresenceStatement maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition: - _Entry.CreationTime maps to assertedDate +// _Entry.CreationTime maps to assertedDate // why doesn't this work? SubjectOfInformation maps to subject - SourceOfInformation.Value maps to asserter +// SourceOfInformation.Value maps to asserter // why doesn't this work? ConditionTopic.Category maps to category ConditionTopic.TopicCode maps to code constrain bodySite to 0..0 diff --git a/spec/cimi_statement_vs.txt b/spec/cimi_statement_vs.txt index 17194663..4ff7c5fb 100644 --- a/spec/cimi_statement_vs.txt +++ b/spec/cimi_statement_vs.txt @@ -1,18 +1,18 @@ Grammar: ValueSet 5.0 Namespace: cimi.statement +CodeSystem: SCT = http://snomed.info/sct ValueSet: DiagnosticServiceVS -Description: "The type of laboratory service used in producing a laboratory result" -#microbiology "Laboratory concerned with cultures, to look for suspected pathogens." -#parasitology "Laboratory responsible for examining parasites, feces samples may be examined for evidence of intestinal parasites such as tapeworms or hookworms and others." -#virology "Laboratory concerned with identification of viruses in specimens such as blood, urine, and cerebrospinal fluid." -#hematology "Laboratory that works with whole blood to do full blood counts, and blood films as well as many other specialised tests." -#biochemistry "Laboratory that usually receives serum or plasma and tests the serum for chemicals present in blood." -#toxicology "Laboratory that mainly tests for pharmaceutical and recreational drugs. Urine and blood samples are submitted to this lab." -#immunology "Immunology/Serology laboratory uses the concept of antigen-antibody interaction as a diagnostic tool. Compatibility of transplanted organs is also determined." -#Immunohaematology "Laboratory or blood bank that determines blood groups, and performs compatibility testing on donor blood and recipients. It also prepares blood components, derivatives, and products for transfusion." -#urinalysis "Laboratory tests urine for many analytes. Some health care providers have a urinalysis laboratory, while others don't." -#pathology "Surgical, cytopathology, or histopathology laboratory. Surgical pathology examines organs, limbs, tumors, fetuses, and other tissues biopsied in surgery such as breast mastectomies." -#genetics "Laboratory that mainly performs DNA analysis." -#cytogenetics "Laboratory that uses blood and other cells to get a karyotype. This can be helpful in prenatal diagnosis (e.g. Down's syndrome) as well as in cancer (some cancers have abnormal chromosomes)." \ No newline at end of file +Description: "The type of laboratory service used in producing a laboratory result. Note -- we may want to include additional descendants of SCT#224891009 (Healthcare services)" +SCT#310078000 "Microbiology service (qualifier) -- Laboratory concerned with cultures, to look for suspected pathogens." +SCT#706900000 "Parasitology service (qualifier) -- Laboratory responsible for examining parasites, feces samples may be examined for evidence of intestinal parasites such as tapeworms or hookworms and others." +SCT#708185002 "Virology service (qualifier) -- Laboratory concerned with identification of viruses in specimens such as blood, urine, and cerebrospinal fluid." +SCT#708196005 "Hematology service (qualifier) -- Laboratory that works with whole blood to do full blood counts, and blood films as well as many other specialised tests." +SCT#310076001 "Biochemistry service (qualifier) -- Laboratory that usually receives serum or plasma and tests the serum for chemicals present in blood." +SCT#708191000 "Toxicology service (qualifier) -- Laboratory that mainly tests for pharmaceutical and recreational drugs. Urine and blood samples are submitted to this lab." +SCT#708190004 "Immunology service (qualifier) -- Immunology/Serology laboratory uses the concept of antigen-antibody interaction as a diagnostic tool. Compatibility of transplanted organs is also determined." +//#urinalysis "Laboratory tests urine for many analytes. Some health care providers have a urinalysis laboratory, while others don't." +SCT#310074003 "Pathology service (qualifier)-- Surgical, cytopathology, or histopathology laboratory. Surgical pathology examines organs, limbs, tumors, fetuses, and other tissues biopsied in surgery such as breast mastectomies." +SCT#310048009 "Genetics service (procedure) - note: should be in the Snomed (qualifier) hierarchy - Laboratory that mainly performs DNA analysis." +SCT#708178001 "Cytogenetics service (qualifier) -- Laboratory that uses blood and other cells to get a karyotype. This can be helpful in prenatal diagnosis (e.g. Down's syndrome) as well as in cancer (some cancers have abnormal chromosomes)." \ No newline at end of file diff --git a/spec/cimi_topic.txt b/spec/cimi_topic.txt index 42371e8c..f44ded3c 100644 --- a/spec/cimi_topic.txt +++ b/spec/cimi_topic.txt @@ -24,88 +24,65 @@ Description: "An entry related to an action or intervention, whether potential 0..1 Category - Element: FindingTopic Based on: StatementTopic Concept: TBD Description: "Base class - independent of context - for all kinds of determinations: questions/answers, conditions, observations, allergies, and other findings. - -The subject of a finding can be the entire patient, or an entity such as a location body structure, intervention, or condition. Things observed about the subject can include social and behavioral factors, subjective and objective observations, and assessments. - -CIMI Alignment: In CIMI V0.0.4, FindingTopic has four attributes: result, description, multimedia, and intepretation. The model assumes the result of the finding, and interpretationof that result, are not part of the topic (the question), but part of the result (the answer), and therefore appears in the context (RecordedContext and PresenceContext)." +The subject of a finding can be the entire patient, or an entity such as a location body structure, intervention, or condition. Things observed about the subject can include social and behavioral factors, subjective and objective observations, and assessments." 0..1 FindingMethod 0..1 Details +0..* Media Element: FindingMethod Concept: TBD - Description: "The technique used to create the finding; for example, the specific imaging technique, lab test code, or assessment vehicle. - - CIMI Alignment: In CIMI V0.0.4, this attribute was called 'method'. The value set binding reflects CIMI's preference for LOINC codes." - Value: CodeableConcept should be from http://hl7.org/fhir/ValueSet/observation-codes + Description: "The technique used to create the finding, for example, the specific imaging technical, lab test code, or assessment vehicle." + Value: CodeableConcept should be from http://loinc.org -Element: PanelTopic -Based on: EvaluationResultTopic // or FindingTopic??? But if FindingTopic, mapping isn't available -Concept: TBD -Description: "The base topic for collections of independent findings." -1..1 PanelMembers - - Element: PanelMembers - Concept: TBD - Description: "PanelMember represent the elements of a group of a related but independent evaluations. - Examples are the measurements that compose a complete blood count (CBC), or the elements of a pathology report. Each member is an independent evaluation, but the grouping reflects a composite lab order, shared specimen, or a single report author. Typically the Category and Reason are not given for individual findings that are part of the panel, but rather given at the level of the panel itself." - 0..* ref(EvaluationResultRecorded) //FindingStatement? - - -Element: AssertionTopic -Based on: FindingTopic -Concept: TBD -Description: "The base topic for conditions, allergies, adverse events, etc. These are things that are asserted to exist or not. The Value is interpreted in the context of the class; for an AdverseSensitivityToSubstance, the value is the substance, for a Condition, the Value represents the type of condition found." - -Element: EvaluationResultTopic +Element: ObservationTopic +// All attributes of observation are defined at this level. Any subclass uses subtractive methods to define relevant attributes Based on: FindingTopic Concept: MTH#C1554188 Description: "The base class, independent of context for evaluations (measurements, tests, or questions). The subject of a finding can be the entire patient, or an entity such as a location body structure, intervention, or condition. Things observed about the subject can include social and behavioral factors, subjective and objective observations, and assessments." 1..* Category from http://hl7.org/fhir/ValueSet/observation-category if covered -0..1 EvaluationMethod 0..1 AnatomicalLocation // TODO: Change from element to code to align with FHIR?? 0..1 Focus 0..1 ref(Device) 0..1 ref(Specimen) -0..1 Details 0..* Precondition 0..* ReferenceRange // applies to a quantitative measurement only 0..* EvaluationComponent +0..1 PanelMembers +0..* DiagnosticService + + Element: Focus + Description: "The aspect or attribute of the subject of information that the finding relates to, other than an anatomical location. For example, the finding could deal with a condition, a behavior, a wound, or tumor. These are entities that are implied by clinical statements (see cimi.entity.MaterializedAssertion)" + Value: CodeableConcept or Identifier or ref(EntityOrRole) + + Element: EvaluationComponent + Description: "A simplified, non-separable evaluation consisting of a finding code (represented by the Concept), value (or exception value), reference range, and interpretation. The subject of the evaluation component is the same as in the parent evaluation." + Value: (Quantity or CodeableConcept or string or Range or Ratio or Media or time or dateTime or TimePeriod or IntegerQuantity) + 0..1 ExceptionValue + 0..1 Interpretation + 0..* ReferenceRange + + Element: CodedEvaluationComponent + Based on: EvaluationComponent + Description: "An evaluation component whose value is a code (concept)." + Value: CodeableConcept + 0..0 ReferenceRange + + Element: PanelMembers + Concept: TBD + Description: "PanelMembers represent the elements of a group of a related but independent evaluations. + Examples are the measurements that compose a complete blood count (CBC), or the elements of a pathology report. Each member is an independent evaluation, but the grouping reflects a composite lab order, shared specimen, or a single report author. Typically the Category and Reason are not given for individual findings that are part of the panel, but rather given at the level of the panel itself." + 0..* ref(Observation) - Element: EvaluationMethod - Description: "The technique used to create the finding, for example, the specific imaging technical, lab test code, or assessment vehicle." - Value: CodeableConcept should be from http://loinc.org -// - Element: Focus - Description: "The aspect or attribute of the subject of information that the finding relates to, other than an anatomical location. For example, the finding could deal with a condition, a behavior, a wound, or tumor. These are entities that are implied by clinical statements (see cimi.entity.MaterializedAssertion)" - Value: CodeableConcept or ref(EntityOrRole) - - Element: EvaluationComponent - Description: "A simplified, non-separable evaluation consisting of a finding code (represented by the Concept), value (or exception value), reference range, and interpretation. The subject of the evaluation component is the same as in the parent evaluation." - 0..1 ComponentResultValue - 0..1 ExceptionValue - 0..1 Interpretation - 0..* ReferenceRange - - Element: ComponentResultValue - Description: "The actual value of the component finding." - Value: (Quantity or CodeableConcept or string or Range or Ratio or Attachment or time or dateTime or TimePeriod or IntegerQuantity) - - Element: CodedEvaluationComponent - Based on: EvaluationComponent - Description: "An evaluation component whose value is a code (concept)." - ComponentResultValue value is type CodeableConcept - 0..0 ReferenceRange Element: Precondition Concept: TBD Description: "A description of the conditions or context of an observation, for example, under sedation, fasting or post-exercise. Body position and body site are also qualifiers, but handled separately. A qualifier cannot modify the measurement type; for example, a fasting blood sugar is still a blood sugar. " - Value: CodeableConcept or ref(EvaluationResultRecorded) + Value: CodeableConcept or ref(Observation) Element: ReferenceRange Concept: MTH#C0883335 @@ -125,7 +102,17 @@ Description: "The base class, independent of context for evaluations (measuremen Description: "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so." // FHIR: how exactly does one indicate a neonatal or prenatal age? Value: Range - + Element: DiagnosticService + Concept: TBD + Description: "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes." + Value: CodeableConcept from DiagnosticServiceVS if covered + + +Element: AssertionTopic +Based on: FindingTopic +Concept: TBD +Description: "The base topic for conditions, allergies, adverse events, etc. These are things that are asserted to exist or not. The Value is interpreted in the context of the class; for an AdverseSensitivityToSubstance, the value is the substance, for a Condition, the Value represents the type of condition found." + Element: ConditionTopic Based on: AssertionTopic Concept: MTH#C0348080 @@ -134,16 +121,14 @@ CIMI deviation: AnatomicalLocation is included here, rather than being a propert TopicCode from http://hl7.org/fhir/us/core/ValueSet/us-core-problem if covered 1..* Category from ConditionCategoryVS 0..* AnatomicalLocation +0..* ConditionCause + Element: ConditionCause + Description: "The cause of the condition. This includes such causes as disease vectors and endogenous states (e.g., macular degeneration due to diabetes), substances, medications, micro-organisms, and forces associated with the occurrence of a Condition from temporal or causative perspectives" + Value: CodeableConcept or ref(Entity) or ref(ClinicalStatement) + // probably other attributes needed, such as likelihood or type of cause -/* -TODO: -Need to add Cause or Precursor (another condition that leads to the current condition) - relate to Wound cause, for example -Associate the condition with Evidence, such as Observations, Tests, Imaging Results -Provide for Progress Notes (complex type with text, date, author) -Link to Related Medications -*/ diff --git a/spec/config.json b/spec/config.json index 5615c366..cc79f6fa 100644 --- a/spec/config.json +++ b/spec/config.json @@ -4,10 +4,23 @@ "projectURL": "http://standardhealthrecord.org", "fhirURL": "http://standardhealthrecord.org/fhir", "entryTypeURL": "http://standardhealthrecord.org/spec/", - "implementationGuide": { - "indexContent": "shrIndexContent.html" - }, - "publisher": "The MITRE Corporation: Standard Health Record Collaborative", + "implementationGuide": + { + "includeLogicalModels": true, + "includeModelDoc": false, + "indexContent": "LandingPageOccupation.html", + "primarySelectionStrategy": + { + "strategy": "entry" + } + }, + "filterStrategy": + { + "filter": true, + "strategy": "namespace", + "target": ["shr.occupation"] + }, + "publisher": "HL7", "contact": [ { "telecom": [ diff --git a/spec/config-occupation.json b/spec/ig-breast-configuration.json similarity index 67% rename from spec/config-occupation.json rename to spec/ig-breast-configuration.json index 080f6d9f..09cf24fc 100644 --- a/spec/config-occupation.json +++ b/spec/ig-breast-configuration.json @@ -4,13 +4,21 @@ "projectURL": "http://standardhealthrecord.org", "fhirURL": "http://standardhealthrecord.org/fhir", "entryTypeURL": "http://standardhealthrecord.org/spec/", - "igLogicalModels": true, - "igModelDoc": false, - "igIndexContent": "shrIndexContent.html", - "igPrimarySelectionStrategy": { - "filter": true, + "implementationGuide": + { + "includeLogicalModels": true, + "includeModelDoc": true, + "indexContent": "LandingPageBreastCancer.html", + "primarySelectionStrategy": + { + "strategy": "entry" + } + }, + "filterStrategy": + { + "filter": true, "strategy": "namespace", - "primary": ["shr.occupation"] + "target": ["shr.oncology"] }, "publisher": "The MITRE Corporation: Standard Health Record Collaborative", "contact": [ diff --git a/spec/config-cimi.json b/spec/ig-cimi-configuration.json similarity index 69% rename from spec/config-cimi.json rename to spec/ig-cimi-configuration.json index 9ee8cbda..1bcfedee 100644 --- a/spec/config-cimi.json +++ b/spec/ig-cimi-configuration.json @@ -6,18 +6,19 @@ "entryTypeURL": "http://hl7.org/cimi/spec/", "implementationGuide": { - "igLogicalModels": false, - "igModelDoc": false, - "igIndexContent": "cimiIndexContent.html", + "includeLogicalModels": true, + "includeModelDoc": true, + "indexContent": "LandingPageCimi.html", "primarySelectionStrategy": { - "strategy": "entry", - }, - }, + "strategy": "entry" + } + }, "filterStrategy": { + "filter": true, "strategy": "namespace", - "primary": ["cimi.context", "cimi.core", "cimi.element", "cimi.encounter", "cimi.entity", "cimi.statement", "cimi.topic"] + "target": ["cimi.context", "cimi.core", "cimi.element", "cimi.encounter", "cimi.entity", "cimi.statement", "cimi.topic"] }, "publisher": "The Clinical Information Modeling Initiative (CIMI)", "contact": [ diff --git a/spec/config-shr.json b/spec/ig-shr-configuration.json similarity index 73% rename from spec/config-shr.json rename to spec/ig-shr-configuration.json index 2f08dfe2..d998a826 100644 --- a/spec/config-shr.json +++ b/spec/ig-shr-configuration.json @@ -4,9 +4,16 @@ "projectURL": "http://standardhealthrecord.org", "fhirURL": "http://standardhealthrecord.org/fhir", "entryTypeURL": "http://standardhealthrecord.org/spec/", - "igLogicalModels": true, - "igModelDoc": true, - "igIndexContent": "shrIndexContent.html", + "implementationGuide": + { + "includeLogicalModels": true, + "includeModelDoc": true, + "indexContent": "LandingPageShr.html", + "primarySelectionStrategy": + { + "strategy": "entry" + } + }, "publisher": "The MITRE Corporation: Standard Health Record Collaborative", "contact": [ { diff --git a/spec/ig-wound-config.json b/spec/ig-wound-config.json new file mode 100644 index 00000000..312bf446 --- /dev/null +++ b/spec/ig-wound-config.json @@ -0,0 +1,34 @@ +{ + "projectName": "Skin and Wound", + "projectShorthand": "SW", + "projectURL": "http://standardhealthrecord.org", + "fhirURL": "http://standardhealthrecord.org/fhir", + "entryTypeURL": "http://standardhealthrecord.org/spec/", + "implementationGuide": + { + "includeLogicalModels": true, + "includeModelDoc": true, + "indexContent": "LandingPageWound.html", + "primarySelectionStrategy": + { + "strategy": "entry" + } + }, + "filterStrategy": + { + "filter": true, + "strategy": "namespace", + "target": ["shr.wound"] + }, + "publisher": "HL7 Patient Care and Clinical Information Modeling Initiative Work Groups", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://standardhealthrecord.org" + } + ] + } + ] +} \ No newline at end of file diff --git a/spec/shrIndexContent.html b/spec/shrIndexContent.html index 4ba9b068..5010e369 100644 --- a/spec/shrIndexContent.html +++ b/spec/shrIndexContent.html @@ -1,51 +1 @@ -
- This is a preliminary version of the Standard Health Record (SHR) Health Level 7 (HL7) Fast Healthcare
- Interoperability Resources (FHIR) profiles, extensions, value sets, and code systems.
- For more information see the Standard Health Record
- Collaborative .
-
- The Standard Health Record (SHR) provides a high quality, computable source of patient information by - establishing a single target for health data standardization. The SHR is foundational, dealing first with the - reliable and repeatable collection and aggregation of a wide range of patient-focused data. Through the SHR, we - realize greater transparency, empowerment, and clinical interoperability that supports patients, caregivers, - clinicians, researchers, scientists, and public health organizations. -
-- Enabled through open source technology, the SHR is designed by, and for, its users to support communication - across homes and healthcare systems. The SHR enables organizations, and the American public, to realize the - benefits of improved care communication and coordination, reductions in medical errors, less waste, fraud, and - abuse, enhanced information sharing, and the decreased costs that accompany a large-scale focus on prevention. -
-- This Implementation Guide defines FHIR profiles, extensions, value sets, and code systems necessary to exchange - SHR elements using FHIR 3.0.1 (a.k.a. STU3). Many elements and fields in SHR do not have direct - equivalents in FHIR. Where possible, SHR element fields have been mapped to existing FHIR properties. When it is - not possible to map a field to a property, an extension is defined. In the spirit of re-usability, extensions - are defined globally and referenced wherever they are needed. -
-- HL7 FHIR and the Standard Health Record Collaborative are continually evolving works-in-progress. These - profiles use FHIR 3.0.1 (a.k.a. STU3), which is a pre-cursor to the final FHIR Normative release. The content - of the profiles is based on the latest SHR data element definitions as of the publish date. HL7 FHIR, the SHR, - and the SHR HL7 FHIR Profiles will all continue to evolve. -
-- The following are known issues and limitations as these specifications continue to evolve: -
This is a Standard Health Record FHIR implementation guide.
\ No newline at end of file diff --git a/spec/shr_allergy_map.txt b/spec/shr_allergy_map.txt deleted file mode 100644 index 9cf1f7e4..00000000 --- a/spec/shr_allergy_map.txt +++ /dev/null @@ -1,58 +0,0 @@ -Grammar: Map 5.1 -Namespace: shr.allergy -Target: FHIR_STU_3 - - -AdverseSensitivityToSubstance maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: - SubjectOfInformation maps to patient - SourceOfInformation.Value maps to asserter -// _Entry.Author maps to recorder - Signed.Value.EntityOrRole maps to recorder - _Entry.CreationTime maps to assertedDate - AdverseSensitivityTopic.AllergenIrritant maps to code - AdverseSensitivityTopic.Type maps to type - AdverseSensitivityTopic.SubstanceCategory maps to category - AdverseSensitivityPresenceContext.VerificationStatus maps to verificationStatus - AdverseSensitivityPresenceContext.ClinicalStatus maps to clinicalStatus - AdverseSensitivityPresenceContext.Criticality maps to criticality - AdverseSensitivityPresenceContext.Onset maps to onset[x] - AdverseSensitivityPresenceContext.MostRecentOccurrenceTime maps to lastOccurrence - AdverseSensitivityPresenceContext.AdverseReaction.AllergenIrritant maps to reaction.substance - AdverseSensitivityPresenceContext.AdverseReaction.Manifestation maps to reaction.manifestation - AdverseSensitivityPresenceContext.AdverseReaction.Details maps to reaction.description - AdverseSensitivityPresenceContext.AdverseReaction.OccurrenceTime maps to reaction.onset - AdverseSensitivityPresenceContext.AdverseReaction.Severity maps to reaction.severity - AdverseSensitivityPresenceContext.AdverseReaction.RouteIntoBody maps to reaction.exposureRoute - -NoAdverseSensitivityToSubstance maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: - SubjectOfInformation maps to patient - SourceOfInformation.Value maps to asserter - Signed.Value.EntityOrRole maps to recorder -// _Entry.Author maps to recorder - _Entry.CreationTime maps to assertedDate - AdverseSensitivityTopic.TopicCode maps to code - constrain type to 0..0 - constrain category to 0..0 - constrain clinicalStatus to 0..0 - constrain criticality to 0..0 - constrain onset[x] to 0..0 - constrain lastOccurrence to 0..0 - constrain reaction to 0..0 - - -/* -NoKnownAllergy maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance: -constrain clinicalStatus to 0..0 -constrain criticality to 0..0 -*/ - -/* fix code to SCT#716186003 - -NoKnownDrugAllergy: - fix code to SCT#409137002 - -NoKnownFoodAllergy: - fix code to SCT#429625007 - -NoKnownEnvironmentalAllergy: - fix code to SCT#428607008 */ diff --git a/spec/shr_condition.txt b/spec/shr_condition.txt index aab8dbf1..a1276f0c 100644 --- a/spec/shr_condition.txt +++ b/spec/shr_condition.txt @@ -1,6 +1,6 @@ Grammar: DataElement 5.0 Namespace: shr.condition -Description: "The SHR Condition domain contains definitions used to capture assessments, diagnoses, and judgments related to problems reported or experienced by a subject." +Description: "The SHR Condition domain contains additional definitions used to capture assessments, diagnoses, and judgments related to problems reported or experienced by a subject." Uses: shr.core, shr.base, cimi.core, cimi.element, cimi.context, cimi.topic, cimi.statement, cimi.entity CodeSystem: SCT = http://snomed.info/sct @@ -11,9 +11,9 @@ Abstract Element: BodyStructureTopic Based on: ConditionTopic Concept: MTH#C1268086 Description: "Presence (or absence) of a distinct anatomical or pathological morphological feature or organizational pattern, acquired or innate. Examples include tissue types, tumors, and wounds." -Value: CodeableConcept from AnatomicalLocationVS - TopicCode is MTH#C1268086 +0..1 Identifier 0..1 Morphology +1..* AnatomicalLocation Element: Morphology Concept: TBD @@ -22,7 +22,7 @@ Value: CodeableConcept from AnatomicalLocationVS EntryElement: BodyStructurePresenceStatement -Based on: ConditionPresenceStatement // maybe AssertionOfPresenceStatement rather than calling a body structure a condition? +Based on: ConditionPresenceStatement Concept: TBD Description: "Presence of a distinct anatomical or pathological morphological feature or organizational pattern, acquired or innate. Examples include tissue types, tumors, and wounds. Body structures are continuants that allow observations of the same body structure to be related to be tracked over time." StatementTopic is type BodyStructureTopic @@ -31,26 +31,25 @@ Description: "Presence of a distinct anatomical or pathological morphological fe EntryElement: BodyStructureAbsenceStatement // AssertionOfAbsenceStatement? Based on: ConditionAbsenceStatement Concept: TBD -Description: "Presence of a distinct anatomical or pathological morphological feature or organizational pattern, acquired or innate. Examples include tissue types, tumors, and wounds. Body structures are continuants that allow observations of the same body structure to be related to be tracked over time." +Description: "Absence of a distinct anatomical or pathological morphological feature or organizational pattern, acquired or innate. Examples include tissue types, tumors, and wounds. Body structures are continuants that allow observations of the same body structure to be related to be tracked over time." StatementTopic is type BodyStructureTopic - EntryElement: DiseaseProgression -Based on: EvaluationResultRecorded +Based on: Observation Concept: MTH#C0421176 "Progression" Description: "A finding related to the current trend of a particular existing disease. This concept is most often used for chronic and incurable diseases where the status and trendline of the disease is an important determinant of therapy and prognosis. The specific disorder being evaluated must be cited in the Focus_Reference or Focus_CodeableConcept as a reference to a Condition." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue from ProgressionVS - EvaluationResultTopic.TopicCode is MTH#C0421176 "Progression" + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue from ProgressionVS + ObservationTopic.TopicCode is MTH#C0421176 "Progression" 0..* ProgressionEvidence -// "ProgressionEvidence" is somewhat related to two existing attributes: ObservationCategory and EvaluationMethod +// "ProgressionEvidence" is somewhat related to two existing attributes: ObservationCategory and FindingMethod // * ObservationCategory has values imaging, laboratory, procedure, survey, exam, therapy. It represents the source of the observation // * EvalutionMethod represents the test or procedure used to generate the result; it is typically a LOINC code (0..1) - EvaluationResultTopic.Focus.CodeableConcept from http://hl7.org/fhir/us/core/ValueSet/us-core-problem if covered -0..0 EvaluationResultTopic.Specimen -0..0 EvaluationResultTopic.EvaluationComponent -0..0 EvaluationResultTopic.Precondition -0..0 EvaluationResultTopic.ReferenceRange // applies to a quantitative measurement only + ObservationTopic.Focus.CodeableConcept from http://hl7.org/fhir/us/core/ValueSet/us-core-problem if covered +0..0 ObservationTopic.Specimen +0..0 ObservationTopic.EvaluationComponent +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.ReferenceRange // applies to a quantitative measurement only Element: ProgressionEvidence diff --git a/spec/shr_core.txt b/spec/shr_core.txt index c8d84af4..db87810c 100644 --- a/spec/shr_core.txt +++ b/spec/shr_core.txt @@ -1,7 +1,7 @@ Grammar: DataElement 5.0 Namespace: shr.core Description: "The SHR Core domain contains definitions for a variety of general-purpose elements that are used widely in SHR. These include definitions for coding, expressions of time, quantities, addresses, names, and more." -Uses: cimi.element +Uses: cimi.element, cimi.topic Path: FHIR = http://hl7.org/fhir/ValueSet // CodeSystem: CC = http://www.nationsonline.org/oneworld/country_code_list @@ -49,9 +49,9 @@ Based on: Quantity Concept: MTH#C0012751 Description: "The measure of space separating two objects or points." Units with Coding from UnitsOfLengthVS - + Element: Duration -Based on: Quantity +Based on: SimpleQuantity Concept: MTH#C0449238 Description: "The length of time that something continues." Units with Coding from TimeUnitOfMeasureVS @@ -65,7 +65,7 @@ Description: "Representation of an amount of currency or monetary value." //------------- Complex data types in FHIR 3.0 --------------- -Element: Attachment +Element: Media Based on: EmbeddedContent Concept: TBD Description: "A file that contains audio, video, image, or similar content." @@ -113,6 +113,11 @@ Description: "A file that contains audio, video, image, or similar content." Description: "The point in time when the information was recorded in the system of record." Value: dateTime // we can map to instant from dateTime + Element: PhotographicImage + Based on: Media + Concept: LNC#72170-4 + Value: code from ImageMimeTypeVS if covered + //---- Coding departs from CIMI to align with FHIR @@ -153,18 +158,18 @@ Description: "A set of codes drawn from different coding systems, representing t Element: Range Concept: TBD Description: "An interval defined by a quantitative upper and/or lower bound. One of the two bounds must be specified, and the lower bound must be less than the upper bound. When Quantities are specified, the units of measure must be the same." -0..1 LowerBound value is type SimpleQuantity -0..1 UpperBound value is type SimpleQuantity +0..1 LowerBound +0..1 UpperBound Element: LowerBound Concept: TBD Description: "The lower limit on a range" - Value: Quantity // or decimal or unsignedInt or integer + Value: SimpleQuantity // or decimal or unsignedInt or integer Element: UpperBound Concept: TBD Description: "The upper limit on a quantitative value." - Value: Quantity // or decimal or unsignedInt or integer + Value: SimpleQuantity // or decimal or unsignedInt or integer Element: Ratio @@ -358,9 +363,6 @@ Value: string Description: "The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once." Value: positiveInt - - - Element: Address Concept: MTH#C0682130 Description: "An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations and which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. (Source: HL7 FHIR)." @@ -447,9 +449,10 @@ Description: "A range of non-negative integers. One of the two bounds must be pr */ Element: DurationRange +Based on: Range Description: "A range of durations." -0..1 LowerBound value is type Duration -0..1 UpperBound value is type Duration + LowerBound value is type Duration + UpperBound value is type Duration Element: Statistic Based on: Quantity @@ -472,12 +475,7 @@ Based on: SimpleQuantity Concept: MTH#C0439165 Description: "A percentage value where 100.0 represents 100%." Units.Coding is UCUM#% - - Element: PercentageRange - Based on: Range - Description: "A range of percentage values." - 0..1 LowerBound value is type Percentage - 0..1 UpperBound value is type Percentage + Element: Likelihood Concept: MTH#C0033204 @@ -489,47 +487,44 @@ Concept: TBD Description: "A qualitative (subjective) likelihood." Value: CodeableConcept from QualitativeLikelihoodVS - Element: Length -//Based on: EvaluationComponent +Based on: Quantity Concept: MTH#C1444754 Description: "The measurement or linear extent of something from end to end; the greatest dimensions of a body." -Value: Quantity with units UCUM#TBD - -Element: Width -//Based on: EvaluationComponent -Concept: MTH#C0487742 -Description: "The measurement or extent of something from side to side." -Value: Quantity with units UCUM#TBD + Units with Coding from UnitsOfLengthVS Element: Depth -//Based on: EvaluationComponent -Concept: MTH#C0205125 +Based on: EvaluationComponent +Concept: SCT#131197000 "Depth (qualifier value)" Description: "The extent downward or inward; the perpendicular measurement from the surface downward to determine deepness." -Value: Quantity with units UCUM#TBD +Value: Quantity with units UCUM#cm +Element: Area +Based on: EvaluationComponent +Concept: SCT#42798000 "Area (qualifier value)" +Description: "The extent of a 2-dimensional surface enclosed within a boundary." +Value: Quantity with units UCUM#cm2 + +Element: ClockDirection +Based on: CodedEvaluationComponent +Concept: LNC#72294-2 +Description: "A direction indicated by an angle relative to 12 o'clock." +Value: CodeableConcept from ClockDirectionVS + + +/* Element: Volume -//Based on: EvaluationComponent +Based on: ??? Concept: MTH#C0449468 Description: "The amount of three dimensional space occupied by an object or the capacity of a space or container." Value: Quantity with units UCUM#TBD -Element: Area -//Based on: EvaluationComponent -Concept: MTH#C0205146 -Description: "The extent of a 2-dimensional surface enclosed within a boundary." -Value: Quantity with units UCUM#TBD - Element: Circumference -//Based on: EvaluationComponent +Based on: ??? Concept: MTH#C0332520 Description: "The length of such a boundary line of a figure, area, or object." +*/ -Element: ClockDirection -//Based on: EvaluationComponent -Concept: LNC#72294-2 -Description: "A direction indicated by an angle relative to 12 o'clock." -Value: CodeableConcept from ClockDirectionVS // --------------- Times and Time TimePeriods ---------------- @@ -542,13 +537,6 @@ Value: CodeableConcept from QualitativeDateTimeVS // ----------- Age -------------------------- -Element: AgeRange -Concept: TBD -Description: "A quantitative range of ages. One of the two ages must be specified." -// Since Lower and Upper bounds in Range are based on SimpleQuantity and Age is based on Quantity, there is no way to make AgeRange a subtype of Range -0..1 UpperBound value is type Age -0..1 LowerBound value is type Age - Element: AgeGroup Concept: MTH#C0027362 Description: "Subgroups of populations based on age." @@ -630,14 +618,6 @@ Concept: TBD Description: "The point in time in which something happens." Value: dateTime -/* Not used -Element: OccurrenceDate -Based on: OccurrenceTimeOrPeriod -Concept: TBD -Description: "The date when something happens." -Value: date -*/ - Element: OccurrencePeriod Based on: OccurrenceTimeOrPeriod Concept: TBD diff --git a/spec/shr_core_map.txt b/spec/shr_core_map.txt index a7899e75..875e52d2 100644 --- a/spec/shr_core_map.txt +++ b/spec/shr_core_map.txt @@ -77,10 +77,6 @@ Range maps to Range: LowerBound maps to low UpperBound maps to high -//AgeRange maps to Range: -// LowerAgeBound maps to low -// UpperAgeBound maps to high - Ratio maps to Ratio: Numerator maps to numerator Denominator maps to denominator @@ -101,7 +97,7 @@ Timing maps to Timing: RecurrencePattern.CountPerInterval.MinCount maps to repeat.frequency RecurrencePattern.CountPerInterval.MaxCount maps to repeat.frequencyMax -Attachment maps to Attachment: +Media maps to Attachment: BinaryData maps to data ContentType maps to contentType Language maps to language diff --git a/spec/shr_core_vs.txt b/spec/shr_core_vs.txt index 3fc9090b..c38c4565 100644 --- a/spec/shr_core_vs.txt +++ b/spec/shr_core_vs.txt @@ -240,6 +240,33 @@ ValueSet: ClinicalFindingAbsentVS Includes codes descending from SCT#373572006 +ValueSet: ImageMimeTypeVS +Concept: TBD +Description: "Mime types that apply to photographic images." +#image/bmp ".bmp" +#image/gif ".gif" +#image/jpeg ".jpeg" +#image/png ".png" +#image/svg+xml ".svg" +#image/tiff ".tiff" + +ValueSet: PositiveNegativeVS +Description: "Value set containing the values positive and negative. VSAC value set OID 2.16.840.1.113762.1.4.1166.62." +SCT#10828004 "Positive" +SCT#260385009 "Negative" + +ValueSet: PositiveNegativeEquivocalVS +Description: "Interpretation of a test result as positive, negative or equivocal." +SCT#10828004 "Positive (qualifier value)" +SCT#42425007 "Equivocal (qualifier value)" +SCT#260385009 "Negative (qualifier value)" + + +ValueSet: PresentAbsentVS +Description: "Whether a feature or condition is present or absent." +SCT#52101004 "Present (qualifier value)" +SCT#2667000 "Absent (qualifier value)" + // ValueSet: ManifestationChangeVS (much better, better, about the same, worse, much worse, etc) /*------------- diff --git a/shr_immunization.txt b/spec/shr_immunization.txt similarity index 50% rename from shr_immunization.txt rename to spec/shr_immunization.txt index dc43ac7e..565ff468 100644 --- a/shr_immunization.txt +++ b/spec/shr_immunization.txt @@ -1,38 +1,49 @@ -Grammar: DataElement 5.0 -Namespace: shr.immunization -Description: "The SHR Immunization domain contains definitions related to vaccinations, whether they are received, recommended, missing, or refused." -Uses: shr.core, shr.base, shr.finding, shr.action, shr.entity, shr.medication, shr.adverse +Grammar: DataElement 5.0 +Namespace: shr.immunization +Description: "The SHR Immunization domain contains definitions related to vaccinations, whether they are received, recommended, missing, or refused." +Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element, cimi.medication, cimi.procedure CodeSystem: MTH = http://ncimeta.nci.nih.gov Element: Vaccine // Why not line up with Medication? -Based on: Entity +Based on: Medication Concept: MTH#C1543322 "Vaccine" Description: "A specific type or manufactured instance of a vaccine, a prophylactic or therapeutic preparation given to produce immune response to pathogenic organisms or substances." 1..1 Type from http://hl7.org/fhir/ValueSet/vaccine-code -0..1 Manufacturer -0..1 LotNumber -0..1 ExpirationDate - -Element: ImmunizationActionTopic -Based on: ActionTopic // Note -- treating immunizations separately from medications for FHIR consistency -Concept: TBD -Description: "Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed." -1..1 Vaccine // in the case of immunization not given, the vaccine will have a Type, but not a lot or manufacturer. -0..1 BodySite -0..1 RouteIntoBody -0..1 DoseAmount -//0..1 TBD "DoseSequenceNumber" -0..* Outcome - +0..0 OverTheCounter +0..0 Brand +0..0 MedicationIngredient +0..0 DoseForm + + +Element: ImmunizationTopic +Based on: MedicationUseTopic +Concept: TBD +Description: "Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed." + Medication is type Vaccine // in the case of immunization not given, the vaccine will have a Type, but not a lot or manufacturer. +0..1 AnatomicalLocation +0..1 Dosage +0..1 DoseSequenceNumber +0..* Outcome +//0..* ref(AdverseReactionPresenceStatement) + + Element: DoseSequenceNumber + Description: "Dose number within series." + Value: positiveInt + + EntryElement: ImmunizationGiven -Based on: ImmunizationActionTopic +Based on: ActionPerformedStatement +// Note: Can't inherit from MedicationUsedStatement because in that class, PerformedContext.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 that was administered to the subject." -1..1 PerformedContext - PerformedContext.Participant.Entity is type ref(Practitioner) -// PerformedContext.OccurrenceTimeOrPeriod value is type date +Description: "A vaccination administered to the subject." + SourceOfInformation value is type AnyPersonOrOrganization + StatementTopic is type ImmunizationTopic + PerformedContext is type ProcedurePerformedContext + ProcedurePerformedContext.Status from http://hl7.org/fhir/ValueSet/immunization-status + ProcedurePerformedContext.OccurrenceTimeOrPeriod value is type dateTime +/* EntryElement: ImmunizationNotGiven Based on: ImmunizationActionTopic Concept: TBD @@ -56,7 +67,7 @@ Description: "An immunization that is specifically not recommended, perhaps cont // RequestedAgainstContext.Reason from ... // TODO: Need value set for RequestedAgainst reasons - +*/ /* Example of detailed profile - Comment out for now EntryElement: ZostavaxImmunizationAdministered diff --git a/spec/shr_immunization_map.txt b/spec/shr_immunization_map.txt new file mode 100644 index 00000000..8d26a92d --- /dev/null +++ b/spec/shr_immunization_map.txt @@ -0,0 +1,48 @@ +Grammar: Map 5.1 +Namespace: shr.immunization +Target: FHIR_STU_3 + +ImmunizationGiven maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization: + ImmunizationTopic.Vaccine.Type maps to vaccineCode + ImmunizationTopic.Vaccine.LotNumber maps to lotNumber + ImmunizationTopic.Vaccine.Manufacturer maps to manufacturer + ImmunizationTopic.Vaccine.ExpirationDate maps to expirationDate + ImmunizationTopic.Dosage.AdministrationBodySite maps to site + ImmunizationTopic.Dosage.RouteIntoBody maps to route + ImmunizationTopic.Dosage.DoseAmount maps to doseQuantity + constrain vaccinationProtocol to 1..1 + ImmunizationTopic.DoseSequenceNumber maps to vaccinationProtocol.doseSequence + constrain explanation to 0..1 + ProcedurePerformedContext.Encounter maps to encounter + ProcedurePerformedContext.Reason maps to explanation.reason + ProcedurePerformedContext.FHIRProcedureParticipant maps to practitioner.actor + ProcedurePerformedContext.FHIRProcedureParticipant.ParticipationType maps to practitioner.role +// ProcedurePerformedContext.FHIRProcedureParticipant.OnBehalfOf maps to nothing + ProcedurePerformedContext.OccurrenceTimeOrPeriod maps to date + ProcedurePerformedContext.Status maps to status + ProcedurePerformedContext.Facility maps to location +// ProcedurePerformedContext.Outcome maps to extension +// TODO: must support fixing booleans +// fix notGiven to false +// TODO: Below is commented out because it's not currently supported +// status is ICS#completed // FHIR bug: if "wasNotGiven" is true, there is no reasonable choice for status +// TODO The following statement is failing it might be a bug +// ProcedurePerformedContext.Method maps to http://hl7.org/fhir/StructureDefinition/procedure-method +// ProcedurePerformedContext.RelatedRequest.Value maps to basedOn +// ProcedurePerformedContext.RelatedPlan maps to definition + + +/* +ImmunizationNotGiven maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization: + Vaccine.Type maps to vaccineCode + constrain explanation to 0..1 +// TODO: must support fixing booleans +// fix notGiven to true + NotPerformedContext.NonOccurrenceTimeOrPeriod maps to date + NotPerformedContext.Reason maps to explanation.reasonNotGiven + constrain site to 0..0 + constrain route to 0..0 + constrain doseQuantity to 0..0 + TBD "DoseSequenceNumber" maps to vaccinationProtocol.doseSequence + fix status to #completed // if not given, is this right choice for status? +*/ \ No newline at end of file diff --git a/shr_immunization_vs.txt b/spec/shr_immunization_vs.txt similarity index 100% rename from shr_immunization_vs.txt rename to spec/shr_immunization_vs.txt diff --git a/spec/shr_occupation.txt b/spec/shr_occupation.txt index 7e000755..3488e9a5 100644 --- a/spec/shr_occupation.txt +++ b/spec/shr_occupation.txt @@ -1,28 +1,39 @@ Grammar: DataElement 5.0 Namespace: shr.occupation Description: "Patient’s or family member's work information." -Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element +Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element, cimi.encounter CodeSystem: LNC = http://loinc.org CodeSystem: MTH = http://ncimeta.nci.nih.gov CodeSystem: UCUM = http://unitsofmeasure.org CodeSystem: OBSCAT = http://hl7.org/fhir/observation-category -// + EntryElement: OccupationalDataSummaryPanel Concept: LNC#74165-2 -Based on: NonLabPanelRecorded -Description: "Current and past activities for profit, wages, salary, or as a service to others." - PanelTopic.TopicCode is LNC#74165-2 - PanelTopic.Category is OBSCAT#social-history -0..0 PanelTopic.AnatomicalLocation -0..0 PanelTopic.FindingMethod - PanelTopic.EvaluationComponent +Based on: Observation +Description: "Current and past activities forDe- profit, wages, salary, or as a service to others." + ObservationTopic.TopicCode is LNC#74165-2 + ObservationTopic.Category is OBSCAT#social-history + ObservationTopic.EvaluationComponent includes 0..1 CurrentEmploymentStatus - PanelTopic.PanelMembers.EvaluationResultRecorded + ObservationTopic.PanelMembers.Observation includes 0..1 UsualOccupation includes 0..* PastOrPresentJob includes 0..1 MilitaryServiceHistory - +0..0 ObservationTopic.FindingMethod +0..0 ObservationTopic.AnatomicalLocation +0..0 ObservationTopic.Focus +0..0 ObservationTopic.Device +0..0 ObservationTopic.Specimen +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.ReferenceRange +0..0 ObservationTopic.DiagnosticService +0..0 ObservationContext.ResultValue +0..0 ObservationContext.ExceptionValue +0..0 ObservationContext.Interpretation +0..0 ObservationContext.RelevantTime +0..0 ObservationContext.Encounter +0..0 ObservationContext.DeltaFlag Element: CurrentEmploymentStatus Based on: CodedEvaluationComponent @@ -32,14 +43,26 @@ includes 0..1 MilitaryServiceHistory EntryElement: UsualOccupation -Based on: NonLabCodedEvaluationResultRecorded +Based on: CodedNonLaboratoryObservation Concept: LNC#21843-8 Description: "The type of work a person has held for the longest amount of time during his or her life, regardless of the occupation currently held and regardless of whether or not it has been held for a continuous time." - EvaluationResultRecordedContext.ResultValue could be from http://hl7.org/fhir/ValueSet/occupation-cdc-census-2010 // defined in FHIR 3.2 and not found in 3.0.1 - EvaluationResultTopic.Category is OBSCAT#social-history - EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue could be from http://hl7.org/fhir/ValueSet/occupation-cdc-census-2010 // defined in FHIR 3.2 and not found in 3.0.1 + ObservationTopic.Category is OBSCAT#social-history + ObservationTopic.EvaluationComponent includes 0..1 Industry includes 0..1 TotalDuration +0..0 ObservationTopic.FindingMethod +0..0 ObservationTopic.AnatomicalLocation +0..0 ObservationTopic.Focus +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.ReferenceRange +0..0 ObservationTopic.PanelMembers +0..0 ObservationContext.ResultValue +0..0 ObservationContext.ExceptionValue +0..0 ObservationContext.Interpretation +0..0 ObservationContext.RelevantTime +0..0 ObservationContext.Encounter +0..0 ObservationContext.DeltaFlag Element: Industry Based on: CodedEvaluationComponent @@ -56,14 +79,12 @@ includes 0..1 TotalDuration EntryElement: PastOrPresentJob -Based on: NonLabCodedEvaluationResultRecorded +Based on: ComponentOnlyNonLaboratoryObservation Concept: LNC#21843-8 Description: "A single job, past or present. The relevant time is the period the job was held." -0..0 EvaluationResultRecordedContext.ResultValue -0..0 EvaluationResultRecordedContext.ExceptionValue - EvaluationResultTopic.Category is OBSCAT#social-history -0..1 Employer // not an evaluation component because the value is a reference to Person or Organization - EvaluationResultTopic.EvaluationComponent + ObservationTopic.Category is OBSCAT#social-history +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 + ObservationTopic.EvaluationComponent includes 0..1 Occupation includes 0..1 Industry includes 0..1 JobClassification @@ -73,12 +94,24 @@ includes 0..* OccupationalHazard includes 0..1 WorkSchedule includes 0..1 WorkDaysPerWeek includes 0..1 WorkHoursPerDay +0..0 ObservationTopic.FindingMethod +0..0 ObservationTopic.AnatomicalLocation +0..0 ObservationTopic.Focus +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.ReferenceRange +0..0 ObservationTopic.PanelMembers +0..0 ObservationContext.ResultValue +0..0 ObservationContext.ExceptionValue +0..0 ObservationContext.Interpretation +0..0 ObservationContext.Encounter +0..0 ObservationContext.DeltaFlag Element: Employer + Based on: Role Concept: MTH#C1274022 // currently unmapped because this is an extension Description: "A person or organization that hires the services of another." Value: ref(Person) or ref(Organization) - + Element: Occupation Based on: CodedEvaluationComponent Concept: LNC#21843-8 // LNC#74287-4 @@ -132,17 +165,26 @@ includes 0..1 WorkHoursPerDay EntryElement: MilitaryServiceHistory -Based on: NonLabCodedEvaluationResultRecorded +Based on: ComponentOnlyNonLaboratoryObservation Description: "History of service in the US military." - EvaluationResultTopic.Category is OBSCAT#social-history - EvaluationResultTopic.TopicCode is MTH#C3714797 - EvaluationResultTopic.EvaluationComponent + ObservationTopic.Category is OBSCAT#social-history + ObservationTopic.TopicCode is MTH#C3714797 + ObservationTopic.EvaluationComponent includes 1..1 MilitaryStatus includes 0..1 MilitaryServiceDischargeStatus includes 0..1 MilitaryBranch includes 0..* MilitaryServiceEra includes 0..1 ServiceConnectedDisability //includes 0..1 TBD "MilitaryRank" +0..0 ObservationTopic.FindingMethod +0..0 ObservationTopic.AnatomicalLocation +0..0 ObservationTopic.Focus +0..0 ObservationTopic.Device +0..0 ObservationTopic.Precondition +0..0 ObservationContext.Interpretation +0..0 ObservationContext.RelevantTime +0..0 ObservationContext.Encounter +0..0 ObservationContext.DeltaFlag Element: MilitaryStatus Concept: MTH#C1550416 diff --git a/spec/shr_oncology.txt b/spec/shr_oncology.txt index c82ab230..70daa189 100644 --- a/spec/shr_oncology.txt +++ b/spec/shr_oncology.txt @@ -42,9 +42,7 @@ Description: "Specimen resulting from biopsy or excision of breast and surroundi EntryElement: BreastCancerPresenceStatement Concept: SCT#126926005 "Neoplasm of breast (disorder)" Based on: ConditionPresenceStatement -Description: "Diagnosis of cancer originating in the tissues of the breast, and potentially spread to other organs of the body. - -The BreastCancerPresenceStatement is a subclass of ConditionPresenceStatement, which is a departure from CIMI. In CIMI, this would be a archetype of ClinicalStatement combining a BreastCancerConditionTopic with the ConditionPresenceContext. This would require definition of BreastCancerConditionTopic in the reference model, follwed by introduction of constraints on Value, Category, Stage, and MorphologyBehavior in the corresponding archetype." +Description: "Diagnosis of cancer originating in the tissues of the breast, and potentially spread to other organs of the body." ConditionTopic.TopicCode from BreastCancerTypeVS ConditionPresenceContext.Stage.StageDetail value is type BreastCancerStage ConditionTopic.FindingMethod should be from BreastCancerDetectionVS // can't change to 'could be' because us-core uses preferred binding @@ -57,26 +55,29 @@ The BreastCancerPresenceStatement is a subclass of ConditionPresenceStatement, w Value: CodeableConcept EntryElement: BreastCancerStage -Based on: PanelRecorded // maps to FHIR Observation +Based on: Observation Concept: MTH#C2216702 "Malignant Neoplasm of Breast Staging" //Not LNC#21908-9 since that is AJCC-specific Description: "The stage of a breast cancer. Different staging systems use different staging groups, so there are currently no terminology bindings associated with this class." 0..1 StageTimingPrefix - PanelTopic.TopicCode is MTH#C2216702 "Malignant Neoplasm of Breast Staging" - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue could be from BreastCancerStageVS -0..0 PanelTopic.AnatomicalLocation -0..0 PanelTopic.Specimen -0..0 PanelTopic.ReferenceRange - PanelTopic.EvaluationComponent + ObservationTopic.TopicCode is MTH#C2216702 "Malignant Neoplasm of Breast Staging" + ObservationTopic.EvaluationComponent includes 0..1 BreastCancerPrimaryTumorClassification includes 0..1 BreastCancerRegionalNodesClassification includes 0..1 BreastCancerDistantMetastasesClassification - PanelTopic.PanelMembers.EvaluationResultRecorded + ObservationTopic.PanelMembers.Observation includes 0..1 HER2ReceptorStatus includes 0..1 EstrogenReceptorStatus includes 0..1 ProgesteroneReceptorStatus includes 0..1 DCISNuclearGrade includes 0..1 BreastCancerHistologicGrade + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue could be from BreastCancerStageVS +0..0 ObservationTopic.Focus +0..0 ObservationTopic.Device +0..0 ObservationTopic.Specimen +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.ReferenceRange +0..0 ObservationTopic.DiagnosticService Element: StageTimingPrefix Concept: SCT#260869008 "Timing of stage" @@ -109,30 +110,31 @@ includes 0..1 BreastCancerHistologicGrade Value: CodeableConcept EntryElement: DCISNuclearGrade -Concept: MTH#C18513 -Based on: SimplifiedLaboratoryTestResultRecorded +Concept: MTH#C18513 // What is the proper LOINC code? +Based on: SimpleCodedLaboratoryObservation Description: "An evaluation of the size and shape of the nucleus in tumor cells and the percentage of tumor cells that are in the process of dividing or growing. Cancers with low nuclear grade grow and spread less quickly than cancers with high nuclear grade." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from NuclearGradeVS - EvaluationResultTopic.Specimen is type BreastSpecimen - EvaluationResultTopic.TopicCode is MTH#C18513 -0..0 EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue.CodeableConcept from NuclearGradeVS + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.TopicCode is MTH#C18513 + ObservationTopic.DiagnosticService is #pathology + EntryElement: BreastCancerHistologicGrade Concept: LNC#44648-4 -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: CodedLaboratoryObservation Description: "The Elston Grade/Nottingham Score, representative of the aggressive potential of the tumor. Well differentiated cells (Grade 1) look similar to normal cells and are usually slow growing, while poorly differentiated cells (Grade 3) look very different than normal and are fast-growing." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from NottinghamCombinedGradeVS - EvaluationResultRecordedContext.ExceptionValue from NottinghamNullVS - EvaluationResultTopic.TopicCode is LNC#44648-4 - - EvaluationResultTopic.Specimen is type BreastSpecimen - DiagnosticService is #pathology - EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue.CodeableConcept from NottinghamCombinedGradeVS + ObservationContext.ExceptionValue from NottinghamNullVS + ObservationTopic.TopicCode is LNC#44648-4 + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.EvaluationComponent includes 0..1 TubuleFormationScore includes 0..1 NuclearPleomorphismScore includes 0..1 MitoticCountScore +0..0 ObservationTopic.PanelMembers //RMB: the CAP form has two additional options for each of these subcomponents: "only microinvasion present" and "no residual invasive carcinoma", both of which are situations where a histologic grade wouldn't be assigned. Because the our exceptions value set doesn't handle these options (and possibly others related to other data elements, should we allow for a string option to contain reasons for missing data? Otherwise the expection value set might become unruly. Element: TubuleFormationScore @@ -158,19 +160,19 @@ includes 0..1 MitoticCountScore // includes 0..1 PercentageInSituCarcinoma // not sure where this belongs EntryElement: EstrogenReceptorStatus -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: CodedLaboratoryObservation Concept: LNC#16112-5 "Estrogen receptor [Interpretation] in Tissue" Description: "Estrogen receptor alpha is the predominant estrogen receptor expressed in breast tissue and is overexpressed in around 50% of breast carcinomas. ER status (positive=present or overexpressed; negative=absent) is a factor in determining prognosis and treatment options. - -We are seeking feedback if it is better to put the positive/negative status in Value or Interpretation. The current approach is that positive/negative designation is a value, even though that value is (in fact) an interpretation of evidence (NuclearPositivity and AverageStainingIntensity)." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from PositiveNegativeVS - EvaluationResultTopic.TopicCode is LNC#16112-5 - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen - EvaluationResultTopic.EvaluationComponent +The current approach is that positive/negative designation is a value, even though that value is (in fact) an interpretation of evidence (NuclearPositivity and AverageStainingIntensity)." + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue.CodeableConcept from PositiveNegativeVS + ObservationTopic.TopicCode is LNC#16112-5 + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.EvaluationComponent includes 0..1 NuclearPositivity includes 0..1 AverageStainingIntensity +0..0 ObservationTopic.PanelMembers /* includes 0..1 StainingControl includes 0..1 PrimaryAntibody //from EstrogenAntibodyVS if covered @@ -181,31 +183,28 @@ includes 0..1 OtherReceptorScoringSystem */ EntryElement: ProgesteroneReceptorStatus -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: CodedLaboratoryObservation Concept: LNC#16113-3 Description: "Progesterone receptor status is a factor in determining prognosis and treatment options. The value is the percentage of cells that test (stain) positive for the presence of a receptor. The interpretation of positive or negative (found in the interpretation property) is based on the staining percentage, and may take into account the staining intensity. - -Based on discussion with Cancer Interoperability Group subject matter experts, there was insufficient rationale to include the following components in the data model: StainingControl, PrimaryAntibody, Allred Score (both total and component scores). We are seeking feedback on whether or not those components should be included in this model. - -We are seeking feedback if it is better to put the positive/negative status in Value or Interpretation. The current approach is that positive/negative designation is a value, even though that value is (in fact) an interpretation of evidence (NuclearPositivity and AverageStainingIntensity)." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from PositiveNegativeVS - EvaluationResultTopic.TopicCode is LNC#16113-3 "Progesterone receptor [Interpretation] in Tissue" - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen - EvaluationResultTopic.EvaluationComponent +Based on discussion with Cancer Interoperability Group subject matter experts, there was insufficient rationale to include the following components in the data model: StainingControl, PrimaryAntibody, Allred Score (both total and component scores). We are seeking feedback on whether or not those components should be included in this model." + ObservationContext.ResultValue value is type CodeableConcept + ObservationContext.ResultValue.CodeableConcept from PositiveNegativeVS + ObservationTopic.TopicCode is LNC#16113-3 "Progesterone receptor [Interpretation] in Tissue" + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.EvaluationComponent includes 0..1 NuclearPositivity includes 0..1 AverageStainingIntensity +0..0 ObservationTopic.PanelMembers Element: NuclearPositivity Based on: EvaluationComponent - Concept: TBD + Concept: TBD // apparently no LOINC code Description: "The percentage of cells that test (stain) positive for the presence of a receptor. - We are seeking feedback on whether nuclear positivity should be an exact percentage or a range of percentages. As currently defined, an exact nuclear positivity could be represented by a zero-width range, where the lower and upper bounds would be the same number." - Value: PercentageRange + Value: Range 0..0 ReferenceRange - + Element: AverageStainingIntensity Concept: SCT#444775005 "Average intensity of positive staining neoplastic cells (observable entity)" Based on: CodedEvaluationComponent @@ -213,64 +212,59 @@ includes 0..1 AverageStainingIntensity Value: CodeableConcept from StainingIntensityVS EntryElement: HER2ReceptorStatus -Based on: PanelRecorded +Based on: CodedLaboratoryObservation Concept: LNC#48676-1 "HER2 [Interpretation] in Tissue" -Description: "HER2 receptor status. HER2 is a member of the human epidermal growth factor receptor family of proteins and is encoded by the ERBB2 oncogene. HER2 is overexpressed in 20-30% of breast tumors, and is associated with an aggressive clinical course and poor prognosis. HER2 status (positive=present or overexpressed; negative=absent) is a factor in determining prognosis and treatment options. - -We are seeking feedback if it is better to put the positive/negative status in Value or Interpretation. The current approach is that positive/negative designation is a value, even though that value is (in fact) an interpretation of evidence from HER2 by IHC and/or HER2 by ISH tests, not a direct observation." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from PositiveNegativeEquivocalVS - PanelTopic.TopicCode is LNC#48676-1 "HER2 [Interpretation] in Tissue" - DiagnosticService is #pathology - PanelTopic.Specimen is type BreastSpecimen -0..0 PanelTopic.Precondition -0..0 PanelTopic.ReferenceRange -0..0 PanelTopic.AnatomicalLocation // AnatomicalLocation is covered in the Specimen collection -0..0 PanelTopic.FindingMethod -0..0 PanelTopic.EvaluationComponent - PanelTopic.PanelMembers.EvaluationResultRecorded +Description: "HER2 receptor status. HER2 is a member of the human epidermal growth factor receptor family of proteins and is encoded by the ERBB2 oncogene. HER2 is overexpressed in 20-30% of breast tumors, and is associated with an aggressive clinical course and poor prognosis. HER2 status (positive=present or overexpressed; negative=absent) is a factor in determining prognosis and treatment options." + ObservationContext.ResultValue.CodeableConcept from PositiveNegativeEquivocalVS + ObservationTopic.TopicCode is LNC#48676-1 "HER2 [Interpretation] in Tissue" + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen +0..0 ObservationTopic.Precondition +0..0 ObservationTopic.FindingMethod +0..0 ObservationTopic.EvaluationComponent + ObservationTopic.PanelMembers.Observation includes 0..* HER2byIHC includes 0..* HER2byISH EntryElement: HER2byIHC -Based on: LaboratoryTestResultRecorded +Based on: CodedLaboratoryObservation Concept: LNC#72383-3 Description: "HER2 receptor status as determined by Immunohistochemistry (IHC)." - EvaluationResultRecordedContext.ResultValue value is type CodeableConcept - EvaluationResultRecordedContext.ResultValue.CodeableConcept from HER2byIHCScoreVS - EvaluationResultTopic.TopicCode is LNC#72383-3 "HER2 Presence in Tissue by Immunoassay" -0..0 EvaluationResultTopic.FindingMethod - EvaluationResultRecordedContext.Interpretation from PositiveNegativeEquivocalVS - DiagnosticService is #pathology -0..0 EvaluationResultTopic.AnatomicalLocation -0..0 EvaluationResultTopic.Precondition - EvaluationResultTopic.Specimen is type BreastSpecimen - EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue.CodeableConcept from HER2byIHCScoreVS + ObservationContext.Interpretation from PositiveNegativeEquivocalVS + ObservationTopic.TopicCode is LNC#72383-3 "HER2 Presence in Tissue by Immunoassay" +0..0 ObservationTopic.FindingMethod // pre-coordinated in the TopicCode (Immunoassay) + ObservationTopic.DiagnosticService is #pathology +0..0 ObservationTopic.Precondition + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.EvaluationComponent includes 0..1 CompleteMembraneStainingPercent +0..0 ObservationTopic.PanelMembers Element: CompleteMembraneStainingPercent Based on: EvaluationComponent Concept: LNC#85328-3 "Cells.HER2 uniform intense membrane staining/100 cells" Description: "Percentage of cells with uniform intense complete membrane staining." - Value: Quantity with units UCUM#% // TODO: Percentage causes CLI error + Value: Quantity with units UCUM#% // TODO: Percentage causes CLI error 0..0 ReferenceRange - + 0..0 Interpretation + EntryElement: HER2byISH -Based on: LaboratoryTestResultRecorded +Based on: CodedLaboratoryObservation Concept: LNC#85318-4 // Corrected 5/12/2018 by MK Description: "HER2 receptor status as determined by In Situ Hybridization (ISH)." -0..0 EvaluationResultRecordedContext.ResultValue - EvaluationResultTopic.TopicCode is LNC#85318-4 "HER2 [Presence] in Breast cancer specimen by FISH" - EvaluationResultTopic.FindingMethod from HER2ISHMethodVS - EvaluationResultRecordedContext.Interpretation from PositiveNegativeEquivocalVS - DiagnosticService is #pathology -0..0 EvaluationResultTopic.AnatomicalLocation -0..0 EvaluationResultTopic.Precondition - EvaluationResultTopic.Specimen is type BreastSpecimen - EvaluationResultTopic.EvaluationComponent +0..0 ObservationContext.ResultValue + ObservationTopic.TopicCode is LNC#85318-4 "HER2 [Presence] in Breast cancer specimen by FISH" + ObservationTopic.FindingMethod from HER2ISHMethodVS + ObservationContext.Interpretation from PositiveNegativeEquivocalVS + ObservationTopic.DiagnosticService is #pathology +0..0 ObservationTopic.Precondition + ObservationTopic.Specimen is type BreastSpecimen + ObservationTopic.EvaluationComponent includes 0..1 AverageHER2SignalsPerCell includes 0..1 AverageCEP17SignalsPerCell includes 0..1 HER2toCEP17Ratio +0..0 ObservationTopic.PanelMembers Element: AverageHER2SignalsPerCell Based on: EvaluationComponent @@ -295,13 +289,13 @@ includes 0..1 HER2toCEP17Ratio /* Element: Aneusomy - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Concept: CAP#30478 Description: "Aneusomy (as defined by vendor kit used)" Value: CodeableConcept from YesNoVS Element: HeterogeneousSignals - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Concept: CAP#30482 Description: "Whether In Situ Hybridization signals were heterogeneous." Value: CodeableConcept from YesNoVS @@ -316,23 +310,23 @@ includes 0..1 HER2toCEP17Ratio Based on: EvaluationComponent Concept: TBD Description: "The percentage of cells that test (stain) positive for the presence of a receptor." - Value: PercentageRange + Value: Range Element: PrimaryAntibody - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Concept: CAP#31092 Description: "" Value: CodeableConcept Element: AverageStainingIntensity Concept: CAP#29749 - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Description: "Part of the Allred scoring, based on the intensity of that staining, on a scale of 0 (Negative) to 3 (Strong)." Value: CodeableConcept from StainingIntensityVS Element: StainingControl - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Concept: CAP#25895 Description: "Whether control cells were present." Value: CodeableConcept from StainingControlVS if covered @@ -357,78 +351,69 @@ includes 0..1 HER2toCEP17Ratio Element: OtherReceptorScoringSystem Concept: CAP#31062 - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Description: "A scoring system other than Allred." */ EntryElement: OncotypeDxInvasiveRecurrenceScore -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleLaboratoryObservation Concept: MTH#C1709318 Description: "The Oncotype DX test for invasive breast cancer examines the activity of 21 genes in a patient’s breast tumor tissue to provide personalized information for tailoring treatment based on the biology of their individual disease. The value from 0 to 100 indicates the estimated risk of recurrence, with the highest risk indicated by a score greater than 31. - No LOINC code currently exists for this test. We are seeking feedback on the value of separating OncotypeDx scores for DCIS and invasive breast carcinomas. Does it make more sense to report the OncotypeDx as a single score, regardless of the type of cancer?" - EvaluationResultRecordedContext.ResultValue value is type Quantity - EvaluationResultRecordedContext.ResultValue.Quantity with units UCUM#1 - EvaluationResultTopic.TopicCode is MTH#C1709318 - EvaluationResultRecordedContext.Interpretation from OncotypeDxInvasiveRiskScoreInterpretationVS - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen -0..0 EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue value is type Quantity + ObservationContext.ResultValue.Quantity with units UCUM#1 + ObservationTopic.TopicCode is MTH#C1709318 + ObservationContext.Interpretation from OncotypeDxInvasiveRiskScoreInterpretationVS + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen EntryElement: OncotypeDxDCISRecurrenceScore -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleLaboratoryObservation Concept: MTH#C3898101 Description: "The Oncotype DX test for DCIS (Ductal Carcinoma in Situ) breast cancer. Risk scores range from 0 to 100 with the following interpretations: 0-38: Low-Risk, 39-54: Intermediate-Risk, 55+: High-Risk. - No LOINC code currently exists for this test. We are seeking feedback on the value of separating OncotypeDx scores for DCIS and invasive breast carcinomas. Does it make more sense to report the OncotypeDx as a single score, regardless of the type of cancer?" - EvaluationResultRecordedContext.ResultValue value is type Quantity - EvaluationResultRecordedContext.ResultValue.Quantity with units UCUM#1 - EvaluationResultTopic.TopicCode is MTH#C3898101 - EvaluationResultRecordedContext.Interpretation from OncotypeDxDCISRiskScoreInterpretationVS - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen -0..0 EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue value is type Quantity + ObservationContext.ResultValue.Quantity with units UCUM#1 + ObservationTopic.TopicCode is MTH#C3898101 + ObservationContext.Interpretation from OncotypeDxDCISRiskScoreInterpretationVS + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen EntryElement: ProsignaRecurrenceScore -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleLaboratoryObservation Concept: LNC#76544-6 Description: "Breast cancer genomic signature assay for 10-year risk of distant recurrence score calculated by Prosigna. The Prosigna Score is reported on a 0 -100 scale (referred to as ROR Score or Risk of Recurrence Score in the literature), which is correlated with the probability of distant recurrence at ten years for post-menopausal women with hormone receptor positive, early stage breast cancer." - EvaluationResultRecordedContext.ResultValue value is type Quantity - EvaluationResultRecordedContext.ResultValue.Quantity with units UCUM#1 - EvaluationResultTopic.TopicCode is LNC#76544-6 - EvaluationResultRecordedContext.Interpretation from RecurrenceRiskScoreInterpretationVS - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen -0..0 EvaluationResultTopic.EvaluationComponent - - + ObservationContext.ResultValue value is type Quantity + ObservationContext.ResultValue.Quantity with units UCUM#1 + ObservationTopic.TopicCode is LNC#76544-6 + ObservationContext.Interpretation from RecurrenceRiskScoreInterpretationVS + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen + EntryElement: MammaprintRecurrenceScore -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleLaboratoryObservation Concept: MTH#C2827401 Description: "Breast cancer genomic signature assay for 10-year risk of distant recurrence score calculated by Mammaprint. - In the United States, MammaPrint can only be used on cancers that are stage I or stage II, invasive, smaller than 5 centimeters, and estrogen-receptor-positive or -negative. Scores range from -1.0 to +1.0, with scores less than 0 indicating high risk, and scores greater than 0 indicating low risk. - The is currently no LOINC code for Mammaprint test." - EvaluationResultRecordedContext.ResultValue value is type Quantity - EvaluationResultTopic.TopicCode is MTH#C2827401 - EvaluationResultRecordedContext.Interpretation from MammaprintRiskScoreInterpretationVS - DiagnosticService is #pathology - EvaluationResultTopic.Specimen is type BreastSpecimen -0..0 EvaluationResultTopic.EvaluationComponent + ObservationContext.ResultValue value is type Quantity + ObservationTopic.TopicCode is MTH#C2827401 + ObservationContext.Interpretation from MammaprintRiskScoreInterpretationVS + ObservationTopic.DiagnosticService is #pathology + ObservationTopic.Specimen is type BreastSpecimen /* EntryElement: TumorDimensions -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleCodedObservation Concept: MTH#C4086369 0..0 Value TopicCode is TBD#TBD - DiagnosticService is #pathology + ObservationTopic.DiagnosticService is #pathology EvaluationComponent includes 0..1 TumorPrimaryDimensionSize includes 0..1 TumorSecondaryDimensionSize @@ -454,12 +439,12 @@ includes 0..1 SizeOfGrossTumorBed EntryElement: TumorMargins -Based on: SimplifiedLaboratoryTestResultRecorded +Based on: SimpleCodedObservation Concept: MTH#C4086369 Description: "The edge or border of the tissue removed in cancer surgery. The margin is described as negative or clean when the pathologist finds no cancer cells at the edge of the tissue, suggesting that all of the cancer has been removed. The margin is described as positive or involved when the pathologist finds cancer cells at the edge of the tissue, suggesting that all of the cancer has not been removed." Value: CodeableConcept from PositiveNegativeVS TopicCode is MTH#C4086369 - DiagnosticService is #pathology + ObservationTopic.DiagnosticService is #pathology EvaluationComponent includes 0..1 TumorMarginDescription includes 0..1 Cellularity // not sure this belongs here @@ -468,7 +453,7 @@ includes 0..1 PercentageInSituCarcinoma // not sure this belongs here Element: TumorMarginDescription Concept: TBD - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Description: "Description of the edge or border of tumor in situ by radiologist or of removed tumor by pathologist." Value: CodeableConcept from TumorMarginDescriptionVS @@ -486,12 +471,12 @@ includes 0..1 PercentageInSituCarcinoma // not sure this belongs here EntryElement: LymphaticInvolvement -Based on: LaboratoryTestResultRecorded +Based on: Observation Concept: MTH#C0746333 Description: "Description of lymph nodes contain cancer cells." Value: CodeableConcept from PositiveNegativeVS 1..1 AnatomicalLocatoin from LymphSystemSubdivisionVS - DiagnosticService is #pathology + ObservationTopic.DiagnosticService is #pathology 0..0 Focus 0..0 Precondition 0..0 ReferenceRange @@ -514,7 +499,7 @@ includes 0..1 DegreeOfLymphaticInvolvement Value: Quantity with units UCUM#1 Element: DegreeOfLymphaticInvolvement - Based on: EvaluationComponent + Based on: CodedEvaluationComponent Concept: TBD Description: "Assessment of how much cancer is in a lymph node." Value: CodeableConcept from DegreeOfLymphaticInvolvementVS @@ -522,30 +507,30 @@ includes 0..1 DegreeOfLymphaticInvolvement Element: Ki-67LabelingIndex - Based on: SimplifiedLaboratoryTestResultRecorded + Based on: SimpleCodedObservation Concept: MTH#C4049944 Description: "Ki-67 is a protein phosphatase whose expression is strongly associated with cell proliferation and encoded by the MKI67 gene. The Ki67 labeling index is the fraction of Ki-67-positive cells to total cells in a tumor specimen and may be useful for determining prognosis with respect to survival and disease recurrence. The more positive cells there are, the more quickly they are dividing and forming new cells. ReferenceRange: Low <10, Intermediate 10-20, >20 High" Value: Quantity with units UCUM#% TopicCode is LNC#29593-1 - DiagnosticService is #pathology + ObservationTopic.DiagnosticService is #pathology EvaluationComponent includes 0..1 PrimaryAntibody //from Ki67AntibodyVS if covered Element: S-PhaseFraction - Based on: SimplifiedLaboratoryTestResultRecorded + Based on: SimpleCodedObservation Concept: MTH#C0812425 Description: "An expression of the number of mitoses found in a stated number of cells. The S-phase fraction number tells you what percentage of cells in the tissue sample are in the process of copying their genetic information (DNA). This S-phase, short for synthesis phase, happens just before a cell divides into two new cells. ReferenceRange: Low <6, Intermediate 6-10, >10 High." Value: Quantity with units UCUM#% - DiagnosticService is #pathology + ObservationTopic.DiagnosticService is #pathology TopicCode is LNC#29593-1 EntryElement: GeneticVariant -Based on: LaboratoryTestResultRecorded +Based on: Observation Concept: MTH#C0678941 Description: "Whether a subject carries a mutation in a particular gene." Value: CodeableConcept from PositiveNegativeVS Focus.CodeableConcept from GeneIdentifierVS - DiagnosticService is #genetics + ObservationTopic.DiagnosticService is #genetics 0..0 Precondition 0..0 ReferenceRange 0..0 DeltaFlag @@ -559,14 +544,14 @@ includes 0..1 Refseq Description: "The Reference Sequence (RefSeq) collection provides a comprehensive, integrated, non-redundant, well-annotated set of sequences, including genomic DNA, transcripts, and proteins. RefSeq sequences form a foundation for medical, functional, and diversity studies. They provide a stable reference for genome annotation, gene identification and characterization, mutation and polymorphism analysis (especially RefSeqGene records), expression studies, and comparative analyses." Value: CodeableConcept from RefseqVS -EntryElement: BreastCancerGeneticAnalysisPanel +EntryElement: BreastCancerGeneticAnalysisObservation Concept: TBD -Based on: PanelRecorded +Based on: Observation Description: "The status of genes known or suspected to play a role in breast cancer risk, for example, the tumor suppressor genes, BRCA1 and BRCA2." - PanelTopic.TopicCode is TBD#TBD - DiagnosticService is #genetics + Observation.TopicCode is TBD#TBD + ObservationTopic.DiagnosticService is #genetics 0..0 EvaluationComponent - PanelMembers.EvaluationTopic + PanelMembers.EvaluationresultRecorded includes 1..1 BRCA1Variant includes 1..1 BRCA2Variant diff --git a/spec/shr_oncology_vs.txt b/spec/shr_oncology_vs.txt index 7ba04cf4..21ccd6f2 100644 --- a/spec/shr_oncology_vs.txt +++ b/spec/shr_oncology_vs.txt @@ -12,8 +12,8 @@ ValueSet: BreastSiteVS Description: "Topography of the breast. Codes are drawn from ICD-O-3. Codes are presented as local codes due to the lack of a ICD-O-3 terminology server available to the FHIR IG publisher." #C50.0 "Nipple" #C50.1 "Central portion of the breast." -#C50.2 "Upper inner quadrant" -#C50.3 "Lower inner quadrant" +SCT#77831004 "Structure of upper inner quadrant of breast (body structure)" +#C50.3 "Lower inner quadrant " #C50.4 "Upper outer quadrant" #C50.5 "Lower outer quadrant" #C50.6 "Axillary tail of breast" @@ -21,14 +21,15 @@ Description: "Topography of the breast. Codes are drawn from ICD-O-3. Codes are #C50.9 "Breast, not otherwise specified (NOS)" -ValueSet: BreastSpecimenTypeVS -Description: "The type of specimen obtained from the breast." -#aspirate "Aspirate" -#core "Core biopsy specimen" -#excision "Excision specimen without wire loc" -#wire "Excision specimen with wire loc" -#duct "Nipple duct excision" -#mastectomy "Total mastectomy" +ValueSet: BreastSpecimenTypeVS +Description: "The type of specimen obtained from the breast." +SCT#119295008 "Specimen obtained by aspiration (specimen)" // mlt: replaces #aspirate "Aspirate" +#core "Core biopsy specimen" // mlt: no equivalent SCT concept. Concepts break into core needle and image guided specimen types +#excision "Excision specimen without wire loc" // mlt: no equivalent SCT concept with specimen semantic tag. +#wire "Excision specimen with wire loc" // mlt: no equivalent SCT concept with specimen semantic tag. +SCT#16215491000119108 "Specimen from breast duct obtained by excision (specimen)" // mlt: replaces #duct "Nipple duct excision" +SCT#122595009 "Specimen from breast obtained by total mastectomy (specimen)" // mlt: replaces #mastectomy "Total mastectomy" + ValueSet: BreastSpecimenCollectionMethodVS Description: "The surgical method used to obtain the tissue sample." @@ -65,7 +66,7 @@ SCT#41919003 "Juvenile carcinoma of the breast (morphologic abnormality)" SCT#30566004 "Noninfiltrating intraductal papillary adenocarcinoma (morphologic abnormality)" SCT#47488001 "Intracystic papillary adenoma (morphologic abnormality)" SCT#128696009 "Intraductal micropapillary carcinoma (morphologic abnormality)" -#8509 "Solid papillary carcinoma" +SCT#421980000 "Papillary carcinoma, solid (morphologic abnormality)" SCT#32913002 "Medullary carcinoma (morphologic abnormality)" SCT#128698005 "Atypical medullary carcinoma (morphologic abnormality)" SCT#58477004 "Infiltrating ductular carcinoma (morphologic abnormality)" @@ -73,12 +74,12 @@ SCT#35232005 "Infiltrating duct and lobular carcinoma (morphologic abnormality)" SCT#128700001 "Infiltrating duct mixed with other types of carcinoma (morphologic abnormality)" SCT#128701002 "Infiltrating lobular mixed with other types of carcinoma (morphologic abnormality)" SCT#128702009 "Polymorphous low grade adenocarcinoma (morphologic abnormality)" -SCT#32968003 "Inflammatory carcinoma" +SCT#32968003 "Inflammatory carcinoma (morphologic abnormality)" SCT#2985005 "Paget's disease, mammary (morphologic abnormality)" SCT#82591005 "Paget's disease and infiltrating duct carcinoma of breast (morphologic abnormality)" SCT#54666007 "Paget's disease and intraductal carcinoma of breast (morphologic abnormality)" SCT#15176003 "Adenocarcinoma with squamous metaplasia (morphologic abnormality)" -#8571 "Metaplastic carcinoma with mesenchymal differentiation" +//#8571 "Metaplastic carcinoma with mesenchymal differentiation -- is this SCT#56565002 Mesenchymal chondrosarcoma (sarcoma of cartilage)?" SCT#733875004 "Fibromatosis-like metaplastic carcinoma (morphologic abnormality)" SCT#128704005 "Adenocarcinoma with neuroendocrine differentiation (morphologic abnormality)" SCT#128705006 "Metaplastic carcinoma (morphologic abnormality)" @@ -325,15 +326,3 @@ Description: "Interpretations of risk as high, intermediate, or low. Answer set #LA19541-4 "High risk of recurrence." #LA22380-2 "Intermediate risk of recurrence." #LA19542-2 "Low risk of recurrence." - -ValueSet: PositiveNegativeVS -Description: "Value set containing the values positive and negative. VSAC value set OID 2.16.840.1.113762.1.4.1166.62." -SCT#10828004 "Positive" -SCT#260385009 "Negative" - -ValueSet: PositiveNegativeEquivocalVS -Description: "Interpretation of a test result as positive, negative or equivocal." -SCT#10828004 "Positive (qualifier value)" -SCT#42425007 "Equivocal (qualifier value)" -SCT#260385009 "Negative (qualifier value)" - diff --git a/spec/shr_wound.txt b/spec/shr_wound.txt new file mode 100644 index 00000000..99936c19 --- /dev/null +++ b/spec/shr_wound.txt @@ -0,0 +1,502 @@ +Grammar: DataElement 5.0 +Namespace: shr.wound +Description: "SHR implementation of the HL7 Pressure Ulcer Prevention Domain Analysis Model (May, 2011)." +Uses: shr.core, shr.base, cimi.core, cimi.context, cimi.topic, cimi.statement, cimi.entity, cimi.element, cimi.encounter, shr.condition + +CodeSystem: UCUM = http://unitsofmeasure.org +CodeSystem: LNC = http://loinc.org +CodeSystem: OBSCAT = http://hl7.org/fhir/observation-category + +/* LOINC Wound Assessment Panel (LOINC 39135-9) +See https://s.details.loinc.org/LOINC/39135-9.html?sections=Comprehensive + + 39135-9 Wound assessment panel O + 81666-0 Wound number [Identifier] + 72300-7 Wound type R + 89250-5 Device or anatomic structure visible in wound + 89251-3 Condition present on admission + 11373-8 Injury cause + 88878-4 Date of condition abatement {mm/dd/yyyy} + 72170-4 Photographic image + 89252-1 Episode of Wound + 89253-9 Trend + 85585-8 Date of Onset of Impairment {mm/dd/yyyy} + 72369-2 Body site identification panel R + 39111-0 Body site R + 39112-8 Body location qualifier O + 20228-3 Anatomic part Laterality O + 72301-5 Description of Periwound C + 72527-5 Pressure ulcer stage NPUAP + 72372-6 Wound bed and edge panel C + 89254-7 Wound bed panel + 72371-8 Appearance of Wound base R + 72370-0 Area of identified wound bed appearance/Area of wound bed of Wound base C % + 39132-6 Color of Wound base O + 89255-4 Wound bed area identified by color/Area of wound bed % + 89256-2 Wound edge panel + 72304-9 Edge of wound description O + 39133-4 Color of Wound edge O + 72299-1 Wound tunneling and undermining panel C + 89257-0 Wound tunneling panel + 72298-3 Tunneling of Wound R + 72296-7 Tunneling [Length] of Wound C cm + 72297-5 Tunneling clock position of Wound C + 89258-8 Wound undermining panel + 72295-9 Undermining of Wound R + 72293-4 Undermining [Length] of Wound C cm + 72294-2 Undermining clock position of Wound C + 72292-6 Wound exudate panel C + 89259-6 Presence of wound exudate + 89260-4 Area of wound cm2 + 39116-9 Drainage amount of Wound C + 72288-4 Odor of Exudate from wound O + 72289-2 Color of Exudate from wound R + 72290-0 Appearance of Exudate from wound R + + 72287-6 Wound size panel C + 39125-0 Width of Wound R cm + 39127-6 Depth of Wound R cm + 39126-8 Length of Wound R cm + 80338-7 Wound assessment [Interpretation] + + +========================== + +Wound ASSERTION -- ONE ASSERTION PER WOUND + 0..1 72300-7 Wound type R + 0..1 89251-3 Condition present on admission + 0..1 11373-8 Injury cause + 0..1 85585-8 Date of Onset of Impairment {mm/dd/yyyy} + 0..1 88878-4 Date of condition abatement {mm/dd/yyyy} + 1..1 81666-0 Wound number [Identifier] + 1..1? 89252-1 Episode of Wound (aka ClinicalStatus) + 1..1 72369-2 Anatomical Location + 0..1 72527-5 Pressure ulcer stage NPUAP + +========================== + +Wound ASSESSMENT PANEL (MULTIPLE PANELS PER WOUND) +1..1 81666-0 Wound number [Identifier] -------> REFERENCE TO Wound Assertion +0..1 89253-9 Trend +0..* 72170-4 Photographic image [Media] +0..1 80338-7 Wound assessment [Interpretation] +Components: +0..1 72301-5 Description of Periwound +0..* 89250-5 Device or anatomic structure visible in wound +1..1 72298-3 Presence of Tunneling of Wound R +1..1 72295-9 Presence of Undermining of Wound R +1..1 89259-6 Presence of wound exudate +MemberObservations: + 0..* 89254-7 Wound bed appearance observation + 0..* xxxx Wound bed color observation + 0..1? 89256-2 Wound edge observation + 0..* 89257-0 Wound tunneling observation + 0..* 89258-8 Wound undermining observation + 0..1 72292-6 Wound exudate observation + 0..1 72287-6 Wound size observation + +=========================== + +Observation: 89254-7 Wound bed appearance observation + COMPONENT: 72371-8 Appearance of Wound base (bed) R + COMPONENT: 72370-0 Area of wound bed appearance/Entire Area of wound bed C % + +Observation: xxxx Wound bed color observation + COMPONENT: 39132-6 Color of Wound base O + COMPONENT: 89255-4 Wound bed area identified by color/Area of wound bed % + +Observation: 89256-2 Wound edge observation + COMPONENT: 72304-9 Edge of wound description O + COMPONENT: 39133-4 Color of Wound edge O + +Observation: 89257-0 Wound tunneling observation + COMPONENT: 72296-7 Tunneling [Length] of Wound C cm + COMPONENT: 72297-5 Tunneling clock position of Wound C + +Observation: 89258-8 Wound undermining observation + COMPONENT: 72293-4 Undermining [Length] of Wound C cm + COMPONENT: 72294-2 Undermining clock position of Wound C + +Observation: 72292-6 Wound exudate observation + COMPONENT: 39116-9 Drainage amount of Wound C + COMPONENT: 72288-4 Odor of Exudate from wound O + COMPONENT: 72289-2 Color of Exudate from wound R + COMPONENT: 72290-0 Appearance of Exudate from wound R + +Observation: 72287-6 Wound size observation + COMPONENT: 39125-0 Width of Wound R cm + COMPONENT: 39127-6 Depth of Wound R cm + COMPONENT: 39126-8 Length of Wound R cm + COMPONENT: 89260-4 Area of wound cm2 + +*/ + +Abstract Element: WoundTopic +Based on: BodyStructureTopic +Description: "A topic concerning a wound, independent of context of being present or absent." +1..1 TopicCode from http://loinc.org/LL2215-3 if covered // 72300-7 Wound type +1..1 Category is OBSCAT#exam +1..1 Identifier is type WoundNumber // 81666-0 Wound number [Identifier] + Morphology from WoundMorphologyVS + ConditionCause is type InjuryCause // 11373-8 "Injury cause" +1..1 AnatomicalLocation +0..0 Device +0..0 Precondition + + Element: WoundNumber + Based on: Identifier + Concept: LNC#81666-0 + 0..0 Purpose + Type is LNC#81666-0 // not sure this is necessary + 0..0 CodeSystem // why do we have this attribute on Identifier? + 0..1 EffectiveTimePeriod + 0..1 Issuer + + Element: InjuryCause + Based on: ConditionCause + Concept: LNC#11373-8 "Injury cause" + Value: CodeableConcept should be from http://loinc.org/LL4936-2 + + +Abstract Element: WoundPresenceContext +Based on: ConditionPresenceContext + Onset value is type dateTime // 85585-8 Date of Onset {mm/dd/yyyy} + Abatement value is type dateTime // 88878-4 Date of abatement {mm/dd/yyyy} + ClinicalStatus is type EpisodeOfWound // 89252-1 Episode of Wound (aka ClinicalStatus) + Stage is type PressureUlcerStageNPUAP +0..0 Severity // not sure if this should be prohibited, but it is not part of LOINC panel +0..0 Criticality +0..0 Certainty + + Element: PressureUlcerStageNPUAP + Based on: Stage + Concept: LNC#72527-5 + Value: CodeableConcept from http://loinc.org/LL2337-5 + 0..0 StageDetail + + Element: EpisodeOfWound + Based on: ClinicalStatus + Concept: LNC#89252-1 "Episode of Wound" + Value: code from http://hl7.org/fhir/ValueSet/condition-clinical // wrong value set, preferred is LL4937-0 + + +EntryElement: WoundPresenceStatement +Based on: BodyStructurePresenceStatement +Concept: SCT#416462003 "Wound (disorder)" +Description: "A determination that a wound that exists at a particular body site. Multiple wound assessments can be associated with a single wound." +// LOINC: Some of the features of a wound are recorded once, such as the cause, onset, presence on admission, etc. These should be part of the initial assertion that a wound exists. Other parts of the LOINC panel are observed repeatedly throughout the treatment of the wound. These are part of the wound evaluation. These parts can be linked by wound number or direct references in the model. + BodyStructureTopic is type WoundTopic + ConditionPresenceContext is type WoundPresenceContext + +/* Hold off for now +EntryElement: WoundAbsenceStatement +Based on: BodyStructureAbsenceStatement +Concept: TBD +Description: "Documents the absence of a wounds of a particular type at a given body site. if the Value is SCT#416462003 (Wound) then there is no wound of any type at the site." + BodyStructureTopic is type WoundTopic +*/ + +// This is the main event +EntryElement: WoundEvaluationSummaryPanel +Based on: NonLaboratoryObservation +Concept: LNC#54574-9 +Description: "Group of observations regarding the properties and severity of a wound." + StatementTopic is type WoundEvaluationResultTopic + StatementContext is type WoundObservationContext + + +Abstract Element: WoundObservationContext +Based on: ObservationContext +Description: "Context for recording wound assessments." + Interpretation is type WoundAssessmentInterpretation + DeltaFlag is type WoundTrend +0..0 ResultValue +0..0 ExceptionValue + + Element: WoundAssessmentInterpretation + Based on: Interpretation + Concept: LNC#80338-7 + Description: "Overall assessement of whether the wound is within normal parameters." + Value: CodeableConcept from http://loinc.org/LL3816-7 if covered // underpowered? 'normal' and 'other' + + Element: WoundTrend + Based on: DeltaFlag + Concept: LNC#89253-9 + Description: "Whether a condition is improving, worsening, stable, or resolved." + Value: CodeableConcept should be from http://loinc.org/LL4938-8 // improved, deteriorated, stablized or resolved + + +Abstract Element: WoundEvaluationResultTopic +Based on: ObservationTopic +Description: "Topic for wound assessments, independent of context." + TopicCode is LNC#54574-9 +0..0 ReferenceRange + Focus value is type Identifier // WoundNumber + Media is type PhotographicImage // 72170-4 Photographic image [Media] + EvaluationComponent +includes 0..1 PeriwoundDescription // 72301-5 Description of Periwound +includes 0..* VisibleInternalStructure //89250-5 Device or anatomic structure visible in wound +includes 0..1 PresenceOfWoundTunneling // 72298-3 Tunneling of Wound R present/absent +includes 0..1 PresenceOfWoundUndermining // 72295-9 Undermining of Wound R +includes 0..1 PresenceOfWoundExudate // 89259-6 Presence of wound exudate + PanelMembers.Observation +includes 0..* WoundBedAppearanceObservation //89254-7 Wound bed appearance observation +includes 0..* WoundBedColorObservation // xxxx Wound color observation +includes 0..1 WoundEdgeObservation // 89256-2 Wound edge observation +includes 0..* WoundTunnelingObservation // 89257-0 Wound tunneling observation +includes 0..* WoundUnderminingObservation // 89258-8 Wound undermining observation +includes 0..1 WoundExudateObservation // 72292-6 Wound exudate observation +includes 0..1 WoundSizeObservation // 72287-6 Wound size observation +0..0 DiagnosticService + + Element: PeriwoundDescription + Based on: CodedEvaluationComponent + Concept: LNC#72301-5 + Description: "A description of the skin around the wound (periwound). Color, induration, warmth and edema should be assessed. Redness of the surrounding skin can be indicative of unrelieved pressure. Irritation of the surrounding skin can result from exposure to feces or urine, a reaction to the dressing or tape, or inappropriate removal of dressing or tape. Redness, tenderness, warmth and swelling are classical clinical signs of infection. [Reference: Brown, P., 2009]" + Value: CodeableConcept could be from http://loinc.org/LL2216-1 // example + + Element: VisibleInternalStructure + Based on: CodedEvaluationComponent + Concept: LNC#89250-5 + Description: "Exposed body structures, devices, and/or foreign bodies visible by the naked eye in a wound." + Value: CodeableConcept should be from http://loinc.org/LL4935-4 // preferred + + Element: PresenceOfWoundTunneling + Based on: CodedEvaluationComponent + Concept: LNC#72298-3 + Description: "The presence or absence of wound tunneling." + Value: CodeableConcept from PresentAbsentVS + // LOINC: should re-use the same Snomed codes for Present-Absent + // LOINC: why preferred? why not required? + + Element: PresenceOfWoundUndermining + Based on: CodedEvaluationComponent + Concept: LNC#72295-9 + Description: "The presence or absence of wound undermining." + Value: CodeableConcept from PresentAbsentVS + + Element: PresenceOfWoundExudate + Based on: CodedEvaluationComponent + Concept: LNC#89259-6 + Description: "The presence or absence of wound exudate." + Value: CodeableConcept from PresentAbsentVS + +// LOINC: The wound bed panel has to be factored in a way that the percentages pair unambiguously with the color/appearances. It should be a set of 2-tuples (pairs). The way it is done in LOINC doesn't allow pairing +EntryElement: WoundBedAppearanceObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#89254-7 +Description: "" + ObservationTopic.EvaluationComponent +includes 1..1 WoundBedAppearance +includes 1..1 WoundBedAppearancePercentage + + Element: WoundBedAppearance + Based on: CodedEvaluationComponent + Concept: LNC#72371-8 + Description: "Appearance of wound base (bed)." + Value: CodeableConcept could be from http://loinc.org/LL2237-7 + + Element: WoundBedAppearancePercentage + Based on: EvaluationComponent + Concept: LNC#72370-0 + Description: "Area of wound bed appearance/Entire Area of wound bed." + Value: Quantity with units UCUM#% + +EntryElement: WoundBedColorObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: TBD +Description: "Color of part or all of the wound base (bed), and the percentage of the area with that color." + ObservationTopic.EvaluationComponent +includes 1..1 WoundBedColor +includes 1..1 WoundBedColorAreaPercentage + +// LOINC: Why precoordinate a general concept such as 'color' with the concept of wound bed? + Element: WoundBedColor + Based on: CodedEvaluationComponent + Concept: LNC#39132-6 + Description: "Color of Wound base (bed)." + Value: CodeableConcept could be from http://loinc.org/LL2338-3 + +// LOINC: Why precoordinate a general concept such as 'percentage of area' with the concept of wound bed? + Element: WoundBedColorAreaPercentage + Based on: EvaluationComponent + Concept: LNC#89255-4 + Description: "Wound bed area identified by color/Area of wound bed." + Value: Quantity with units UCUM#% + +EntryElement: WoundEdgeObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#89256-2 +Description: "The state of the tissue at the edge of the wound." + ObservationTopic.EvaluationComponent +includes 1..1 WoundEdgeDescription +includes 0..1 WoundEdgeColor +// LOINC:Is the entire edge of the wound described by one color? Or should it be by percentage, similar to the wound bed? +// LOINC: Why precoordinate a general concept such as 'color' with the concept of wound edge? + + Element: WoundEdgeDescription + Based on: CodedEvaluationComponent + Concept: LNC#72304-9 + Description: "Edge of wound description." + Value: CodeableConcept could be from http://loinc.org/LL2230-2 + + Element: WoundEdgeColor + Based on: CodedEvaluationComponent + Concept: LNC#39133-4 + Description: "Color of Wound edge." + Value: CodeableConcept could be from http://loinc.org/LL2338-3 + +EntryElement: WoundTunnelingObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#89257-0 +Description: "A discharging blind-ended track that extends from the surface of an organ to an underlying area or abscess cavity. The track is invariably lined with granulation tissue. In chronic cases this may be augmented with epithelial tissue." + ObservationTopic.EvaluationComponent +includes 0..1 WoundTunnelLength +includes 0..1 WoundTunnelClockDirection + +// LOINC: why precoordinate length + tunneling? +// LOINC: why precoordinate clock position + tunneling? + + Element: WoundTunnelLength + Based on: EvaluationComponent + Concept: LNC#72296-7 + Description: "Length of wound tunneling." + Value: Quantity with units UCUM#cm + +// LOINC: should require use the full clock position value set + Element: WoundTunnelClockDirection + Based on: CodedEvaluationComponent + Concept: LNC#72297-5 + Description: "Clock position of wound tunnel" + Value: CodeableConcept from ClockDirectionVS + + +EntryElement: WoundUnderminingObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#89258-8 +Description: "Assessment of deep tissue (subcutaneous fat and muscle) damage around the wound margin. Undermining are narrow sinus tracts away from the wound margins and go downward into the wound." + ObservationTopic.EvaluationComponent +includes 0..1 WoundUnderminingLength +includes 0..1 WoundUnderminingClockDirection + + Element: WoundUnderminingLength + Based on: EvaluationComponent + Concept: LNC#72293-4 + Description: "Length of wound undermining." + Value: Quantity with units UCUM#cm + +// LOINC: should require use the full clock position value set + Element: WoundUnderminingClockDirection + Based on: CodedEvaluationComponent + Concept: LNC#72294-2 + Description: "Clock position of wound undermining" + Value: CodeableConcept from ClockDirectionVS + +EntryElement: WoundExudateObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#72292-6 +Description: "Description of the fluid produced by a wound." + ObservationTopic.EvaluationComponent +includes 0..1 ExudateDrainageAmount +includes 0..1 ExudateOdor +includes 1..1 ExudateColor +includes 1..1 ExudateAppearance +// LOINC: Wound area should be in wound size panel, not wound exudate panel + + Element: ExudateDrainageAmount + Based on: CodedEvaluationComponent + Concept: LNC#39116-9 + Description:"Drainage amount of wound" + Value: CodeableConcept could be from http://loinc.org/LL2222-9 + + Element: ExudateOdor + Based on: CodedEvaluationComponent + Concept: LNC#72288-4 + Description:"Odor of exudate from wound" + // LOINC: no value set for exudate odor defined + + Element: ExudateColor + Based on: CodedEvaluationComponent + Concept: LNC#72289-2 + Description:"Color of exudate from wound" + Value: CodeableConcept could be from http://loinc.org/LL2219-5 + + Element: ExudateAppearance + Based on: CodedEvaluationComponent + Concept: LNC#72290-0 + Description:"Appearance of exudate from wound" + Value: CodeableConcept could be from http://loinc.org/LL2220-3 + + +EntryElement: WoundSizeObservation +Based on: ComponentOnlyNonLaboratoryObservation +Concept: LNC#72287-6 +Description: "The estimated or measured dimensions of a wound." + ObservationTopic.EvaluationComponent +includes 1..1 WoundLength +includes 1..1 WoundWidth +includes 1..1 WoundDepth +includes 0..1 WoundArea + + Element: WoundLength + Based on: EvaluationComponent + Concept: LNC#39126-8 + Description: "Length of the wound (longest dimension)." + Value: Quantity with units UCUM#cm + + Element: WoundWidth + Based on: EvaluationComponent + Concept: LNC#39125-0 + Description: "Width of the wound (perpendicular to longest dimension)." + Value: Quantity with units UCUM#cm + + Element: WoundDepth + Based on: EvaluationComponent + Concept: LNC#39127-6 + Description: "Depth of the wound." + Value: Quantity with units UCUM#cm + + Element: WoundArea + Based on: EvaluationComponent + Concept: LNC#89260-4 + Description: "Area of the wound." + Value: Quantity with units UCUM#cm2 + +/* Old Stuff +Element: SupportSurface +Concept: SCT#272243001 +Based on: Device +Description: "A specific instance of a support surface used to distribute pressure and support a patient. The value is coding of the type of support surface." +Value: CodeableConcept from SupportSurfaceVS +0..1 SupportSurfaceCategory +0..1 SupportSurfaceBodyPosition +0..* SupportSurfaceComponent + + Element: SupportSurfaceCategory + Concept: TBD + Description: "The category of support surface." + Value: CodeableConcept from SupportSurfaceCategoryVS + + Element: SupportSurfaceBodyPosition + Concept: TBD + Description: "What body positions the surface can be used for, specifically, sitting or lying." + Value: CodeableConcept from SupportSurfaceBodyPositionVS + + Element: SupportSurfaceComponent + Concept: TBD + Description: "A physical material, structure, or system used alone or in combination with other components to fashion a support surface." + Value: CodeableConcept from SupportSurfaceComponentVS + +Element: SupportSurfaceUsed +Concept: TBD +Based on: DeviceUsed +Description: "A paricular instance of the use of a support surface in patient care." +Value: Device is type SupportSurface + Implanted is #no +0..1 ImmersionDepth + + Element: ImmersionDepth + Concept: TBD + Description: "Depth of penetration (sinking) into a support surface." + Value: Quantity with units UCUM#cm "cm" +*/ \ No newline at end of file diff --git a/shr_skin_vs.txt b/spec/shr_wound_vs.txt similarity index 88% rename from shr_skin_vs.txt rename to spec/shr_wound_vs.txt index 12995c5f..6c53dafb 100644 --- a/shr_skin_vs.txt +++ b/spec/shr_wound_vs.txt @@ -1,45 +1,16 @@ Grammar: ValueSet 5.0 -Namespace: shr.skin +Namespace: shr.wound -ValueSet: SupportSurfaceVS -Includes codes descending from SCT#272243001 - -ValueSet: SupportSurfaceCategoryVS -#active_support "Active support surface" -#reactive_support "Reactive support surface" -#mattress "Mattress" -#bed_system "Integrated bed system" -#overlay "Overlay" -#nonpowered "Non-powered" -#powered "Powered" - -ValueSet: SupportSurfaceBodyPositionVS -#sitting "Sitting" -#lying "Lying" +ValueSet: WoundMorphologyVS +Description: "The shape and nature of a wound." +Includes codes descending from SCT#13924000 "Wound (morphological abnormality)" -ValueSet: SupportSurfaceComponentVS -#air "Air" -#cell "Cell or bladder" -#viscoelastic "Viscoelastic foam" -#elastic "Elastic foam" -#closed_cell "Closed cell foam" -#open_cell "Open cell foam" -#gel "gel" -#pad "pad" -#viscous "Viscous fluid" -#elastomer "Elastomer" -#solid "Solid surface" -#water "Water" +ValueSet: WoundTypeVS +Description: "Disorders classified as types of wounds." +Includes codes descending from SCT#416462003 "Wound (disorder)" -ValueSet: SupportSurfaceFeatureVS -#fluidized "Air fluidized" -#alternating "Alternating pressure" -#rotation "Lateral rotation" -#low_air_loss "Low air loss" -#envelopment "Envelopment" -#multi_zone "Multi-zone surface" -#redist "Pressure redistribution" +/* Old stuff ValueSet: WoundBodySiteVS SCT#43631005 "Back of head" SCT#23747009 "Chin" @@ -79,5 +50,43 @@ SCT#449750009 "Wound edge sharp" SCT#449751008 "Rolled wound edge" SCT#449760000 "Scab of wound edge" -ValueSet: WoundTypeVS -Includes codes descending from SCT#416462003 "Wound (disorder)" +ValueSet: SupportSurfaceVS +Includes codes descending from SCT#272243001 + +ValueSet: SupportSurfaceCategoryVS +#active_support "Active support surface" +#reactive_support "Reactive support surface" +#mattress "Mattress" +#bed_system "Integrated bed system" +#overlay "Overlay" +#nonpowered "Non-powered" +#powered "Powered" + +ValueSet: SupportSurfaceBodyPositionVS +#sitting "Sitting" +#lying "Lying" + +ValueSet: SupportSurfaceComponentVS +#air "Air" +#cell "Cell or bladder" +#viscoelastic "Viscoelastic foam" +#elastic "Elastic foam" +#closed_cell "Closed cell foam" +#open_cell "Open cell foam" +#gel "gel" +#pad "pad" +#viscous "Viscous fluid" +#elastomer "Elastomer" +#solid "Solid surface" +#water "Water" + +ValueSet: SupportSurfaceFeatureVS +#fluidized "Air fluidized" +#alternating "Alternating pressure" +#rotation "Lateral rotation" +#low_air_loss "Low air loss" +#envelopment "Envelopment" +#multi_zone "Multi-zone surface" +#redist "Pressure redistribution" + +*/