smart-classic / smart-issues

2 stars 0 forks source link

Missing documentation in ontology #144

Closed dhml closed 11 years ago

dhml commented 11 years ago

The following sp:Statement's are missing comment or description annotations:

sp:Document sp:Encounter sp:FamilyHistory sp:Fulfillment sp:Problem

nschwertner commented 11 years ago

Thank you, I will take a look

nschwertner commented 11 years ago

Added descriptions together with other ontology fixes in: https://github.com/chb/smart_common/commit/dcc1a6abf3b86ee0a3238cfda0fb2d31a0beac4e

OWL Diff:

Prefix(xsd:=)
Prefix(api:=)
Prefix(owl:=)
Prefix(rdf:=)
Prefix(rdfs:=)
m 
- AnnotationAssertion(api:example  "

 
    
    2011-02-15
    
      
          
          
            
              
              http://purl.bioontology.org/ontology/SNOMEDCT/
              80146002
              Appendectomy
            
          
      
    
    
      
        
          
           Joshua
           Mandel
          
        
      
    
 
")
- AnnotationAssertion(rdfs:comment  "The SMART Clinical Note model encapsulates a simple clinical note with a date, author, title, and one or more instances of formatted data (as sp:DocumentWithFormat nodes) ,
The formatted data, in turn, comprises a MIME type and either supply the value inline (via the rdf:value property) or as a URI at which the content can be found (by assigning a URI to the sp:DocumentWithFormat)."^^rdf:XMLLiteral)
- AnnotationAssertion(rdfs:comment  "SMART provides structure for representing alleriges accoring to well-specified standard vocabularies. A patient with no known allergies produces an AllergyExclusion providing further details (see below). Otherwise, each allergy has a category (drug, food, etc.), a severity, a reaction, and a substance or class of substances. Since we want these allergies to work as inputs to automated computations, we require specific coding systems to represent substances and classes of substances.
1. A drug allergy to a particular drug (e.g. cephalexin) must define a \"substance\" field with an ingredient-type RxNorm code (tty=\"IN\"). (This is to avoid overly-specific statements like \"the patient is allergic to a 500mg cephalexin oral tablet\"!)
2. A drug allergy to an entire class of drugs (e.g. sulfonamides) must define a \"class\" field with an NDFRT code for the drug class.
3. A food or environmental allergy must define a \"substance\" field with a UNII code.
For instance, below are two allergies: first, an allergy to the entire class of sulfonamides (note the sp:class predicate and the NDFRT code provided); then, an allergy to a single cephalosporin drug, cephalexin (note the sp:substance predicate and the RxNorm Ingredient CUI provided):")
- AnnotationAssertion(api:example  "

    
      
      
      
          Backache (finding)
          
            
              
              Backache (finding)
              http://purl.bioontology.org/ontology/SNOMEDCT/
              161891005
            
          
      
      
      2007-06-12
      2007-08-01
    

")
- AnnotationAssertion(rdfs:comment  "The SMART Procedure model describes a procedure that has been performed on a patient.  Examples include surgical procedures (such as an appendectomy) and physical exam procedures (such as a diabetic foot exam).  More broadly, the SMART procedure model is used to capture events under SNOMED CT's Procedure hierarchy. "^^rdf:XMLLiteral)
- AnnotationAssertion(rdfs:comment  "In clinical documentation, asserting that a patient has \"No known allergies\" is very different from not mentioning whether a patient has any allergies.  It's a positive affirmation that a question was asked and answered.  SMART models this information as an explicit clinical statement of the type AllergyExclusion.
While it might seem inelegant to expose explicit AllergyExclusion statements, this model is designed to combat a clinical modeling pattern where a single flag (\"isNegated\" or \"negationIndicator\" for example) negates the meaning of an entire statement.  Interpreting statements in a world where negation flags exist can be tricky.  Every app has to understand the subtlety of this flag -- and it's not always clear what it means to negate a statement with multiple parts.  For more information about exclusion statements in clinical modeling, see http://omowizard.wordpress.com/2011/06/06/unambiguous-data-positive-presence-positive-absence/.")
- AnnotationAssertion(rdfs:comment  "The SMART Social History model describes smoking status accoring to Meaningful Use classifications.  This mode is expected to expand over time to accomodate additional aspects of the social history."^^rdf:XMLLiteral)
- AnnotationAssertion(rdfs:comment  "Explicit record of an immunization given or not given to the patient.")
- AnnotationAssertion(rdfs:comment  "In RDF/XML, patient Bob Odenkirk looks like this: ")
- AnnotationAssertion(rdfs:comment  "The SMART medication type expresses a medication at the level of an
            RxNorm branded or generic drug concept (e.g. \"20 mg generic loratadine\" or \"20 mg brand-name
            claritin\").  A medication must include a start date and may include an end date as well as a free-text \"instructions\" field describing how it should be taken.  When the instructions are simple enough, we also represent them in a structured way, aiming to capture about 80% of outpatient medication dosing schedules.  A very simple semantic structure defines how much to take (\"quantity\") and how often (\"frequency\"). Both quantity and frequency are defined with expressions from [http://www.unitsofmeasure.org The Unified Code for Units of Measure], or UCUM (see below).
In RDF/XML notation, a patient on oral amitriptyline 50 mg tablets might provide the following RDF sub-graph as part of a medication list:
    "^^rdf:XMLLiteral)
- AnnotationAssertion(rdfs:comment  "In RDF/XML, a serum sodium result looks like this: ")
+ AnnotationAssertion(api:description  "Explicit record of an immunization given or not given to the patient.")
+ AnnotationAssertion(api:namePlural  "???")
+ AnnotationAssertion(api:description  "The SMART medication type expresses a medication at the level of an RxNorm branded or generic drug concept (e.g. \"20 mg generic loratadine\" or \"20 mg brand-name claritin\").  A medication must include a start date and may include an end date as well as a free-text \"instructions\" field describing how it should be taken.  When the instructions are simple enough, we also represent them in a structured way, aiming to capture about 80% of outpatient medication dosing schedules.  A very simple semantic structure defines how much to take (\"quantity\") and how often (\"frequency\"). Both quantity and frequency are defined with expressions from [http://www.unitsofmeasure.org The Unified Code for Units of Measure], or UCUM (see below).
In RDF/XML notation, a patient on oral amitriptyline 50 mg tablets might provide the following RDF sub-graph as part of a medication list:
    ")
+ AnnotationAssertion(api:description  "The SMART Procedure model describes a procedure that has been performed on a patient.  Examples include surgical procedures (such as an appendectomy) and physical exam procedures (such as a diabetic foot exam).  More broadly, the SMART procedure model is used to capture events under SNOMED CT's Procedure hierarchy. ")
+ AnnotationAssertion(api:description  "An explicit record of a medication dispension to a patient by a pharmacy.")
+ AnnotationAssertion(api:description  "Describes a document that pertains to the patient record (such as a note, an image, etc).")
+ AnnotationAssertion(api:description  "In RDF/XML, a serum sodium result looks like this: ")
+ AnnotationAssertion(api:description  "A statement about a patient's relative (such as a hereditary disease, biometric fact, or date of death).")
+ AnnotationAssertion(api:description  "SMART provides structure for representing alleriges accoring to well-specified standard vocabularies. A patient with no known allergies produces an AllergyExclusion providing further details (see below). Otherwise, each allergy has a category (drug, food, etc.), a severity, a reaction, and a substance or class of substances. Since we want these allergies to work as inputs to automated computations, we require specific coding systems to represent substances and classes of substances.
1. A drug allergy to a particular drug (e.g. cephalexin) must define a \"substance\" field with an ingredient-type RxNorm code (tty=\"IN\"). (This is to avoid overly-specific statements like \"the patient is allergic to a 500mg cephalexin oral tablet\"!)
2. A drug allergy to an entire class of drugs (e.g. sulfonamides) must define a \"class\" field with an NDFRT code for the drug class.
3. A food or environmental allergy must define a \"substance\" field with a UNII code.
For instance, below are two allergies: first, an allergy to the entire class of sulfonamides (note the sp:class predicate and the NDFRT code provided); then, an allergy to a single cephalosporin drug, cephalexin (note the sp:substance predicate and the RxNorm Ingredient CUI provided):")
+ AnnotationAssertion(api:description  "The SMART Problem model describes a problem that the patient has been diagnosed with or has reported (such as illness, pain, injury). More broadly, the model is used to capture clinical findings under SNOMED CT's findings hierarchy.")
+ AnnotationAssertion(api:description  "The SMART Encounter model describes an encounter between the patient and a provider.")
+ AnnotationAssertion(api:description  "The SMART Clinical Note model encapsulates a simple clinical note with a date, author, title, and one or more instances of formatted data (as sp:DocumentWithFormat nodes) ,
The formatted data, in turn, comprises a MIME type and either supply the value inline (via the rdf:value property) or as a URI at which the content can be found (by assigning a URI to the sp:DocumentWithFormat).")
+ AnnotationAssertion(api:description  "In clinical documentation, asserting that a patient has \"No known allergies\" is very different from not mentioning whether a patient has any allergies.  It's a positive affirmation that a question was asked and answered.  SMART models this information as an explicit clinical statement of the type AllergyExclusion.
While it might seem inelegant to expose explicit AllergyExclusion statements, this model is designed to combat a clinical modeling pattern where a single flag (\"isNegated\" or \"negationIndicator\" for example) negates the meaning of an entire statement.  Interpreting statements in a world where negation flags exist can be tricky.  Every app has to understand the subtlety of this flag -- and it's not always clear what it means to negate a statement with multiple parts.  For more information about exclusion statements in clinical modeling, see http://omowizard.wordpress.com/2011/06/06/unambiguous-data-positive-presence-positive-absence/.")
+ AnnotationAssertion(api:description  "The SMART Social History model describes smoking status according to Meaningful Use classifications.  This mode is expected to expand over time to accommodate additional aspects of the social history.")
+ AnnotationAssertion(api:description  "In RDF/XML, patient Bob Odenkirk looks like this: ")