Bacteriology Concept Set (for Bahmni)

Continuing the discussion from Bahmni and the CIEL dictionary:

Here is a concept set that we use in the endTB version of Bahmni. I’m not asking for this to be added to CIEL as-is, but I’d like to know how @akanter wants to approach adding parts of this to CIEL (or if we should be managing all these concepts externally via OCL). /cc @mogoodrich, @pramidat

    • Specimen Collection Date (same as CIEL 159951)
    • Specimen Sample Source NonCoded (datatype=text)
    • Specimen Sample Source (same as CIEL 159959)
      • Blood (class=Sample)
      • Urine (class=Sample)
    • Specimen ID (same as CIEL 159968)
    • Bacteriology Additional Attributes (datatype=N/A, set)
      • Consultation Note
    • Bacteriology Results
      • Bacteriology, Smear microscopy test results
        • Bacteriology, Smear result (description: “Not read” includes samples with insufficient sample, saliva or other)
          • Scanty 1-3
          • Scanty 4-9
          • Not Read
          • Negative
        • Bacteriology, Smear test lab ID number (datatype=Numeric)
        • Bacteriology, Diagnosed with other Symptom (datatype=Boolean)
        • Bacteriology, Date of AFB smear
      • Bacteriology, Xpert test results
        • Bacteriology, Date of Xpert test (datatype=Datetime)
        • Bacteriology, Xpert test ID number (datatype=Text)
        • Bacteriology, Xpert MTB result (datatype=Coded)
          • ACD - Active Case Detection
          • PCD - Passive Case Detection

I think this is a good set, but I am wondering why it is specific to bacteriology as any test requiring a sample could have this information. I would try to align concepts around specimen and specimen source to be similar to what we do for HL7… that there is a specimen type (urine, fluid, tissue) and a source location (anatomical site). Does the set of sets work where “additional attributes” is another partially defined set? Could there be more of a generic results set and then add a few bacteriology concepts as a modular set? Then you could simply append or replace that set with other sets for different tests (pathology, chemistries, etc.)?