MII Implementation Guide Microbiology
2027.0.0-ballot2 -
Germany
MII Implementation Guide Microbiology - Local Development build (v2027.0.0-ballot2) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Observation.methodDetection, susceptibility testing and classification are different diagnostic statements and are represented in this module by different profiles. This page describes the delimitation, the representation of negative results, and the linking of investigations into a diagnostic chain.
Key statement: a negative result of a targeted pathogen detection is represented via Specific determination, whatever the technique. MRGN classification and resistance category status, by contrast, presuppose an already detected pathogen and do not replace a detection test.
A profile appears under more than one area on purpose. The model is
method-neutral: how an investigation was performed is stated in
Observation.method, not by choosing a different profile. Specific determination
therefore serves the molecular bench and the serology bench alike.
Culture
Molecular
Serology
Across all areas
A profile is defined by the question asked and the type of its result, not by the technique. That is why the answer differs between qualitative and quantitative results, which can look inconsistent at first sight:
Detected / Not detected —
whether the target was found by PCR or by immunoassay. One profile suffices,
and Observation.method says which technique produced it.So the rule is the same in each case; only the number of distinct result spaces differs.
41852-5 |Microorganism or agent identified in Specimen| is valid in
General culture and in
General determination
alike, and the European data model marks it preferred for both. That follows from
its core principle rather than being an oversight: the technique belongs in
Observation.method, so a test code says what was looked for and stays silent about
how. A method-neutral code then fits the cultural and the non-cultural route equally.
The two profiles remain distinguishable on two independent axes, and neither axis shares a single code between them:
| General culture | General determination | |
|---|---|---|
| The question | does anything grow? | which organism is it? |
value[x] |
365698005 Organism growth, 264868006 No growth, 280414007 Equivocal result, bound required |
an organism from the organism ValueSet, or 260415000 Not detected |
Observation.method |
703750006 aerobic, 703751005 anaerobic, 702658000 unspecified culture |
278289002 microscopy, 83581000052107 MALDI-TOF, 258083009 visual estimation, 1304162005 sequencing |
Both elements are optional in the laboratory base profile, so General culture makes
the method mandatory for exactly the code that needs it: the invariant
allgemeine-kultur-method-with-neutral-code requires Observation.method whenever
code is 41852-5. The obligation is tied to the code that creates the ambiguity
rather than to the element - with 11475-1 the code names the technique itself and
the method adds nothing. General determination needs no counterpart, because the
asymmetry already decides: an investigation carrying 41852-5 without a method
cannot be a valid culture, so it is a determination.
Beyond that, this module recommends the code that carries its method wherever one
exists: 11475-1 |Microorganism identified in Specimen by Culture| for culture,
41852-5 for determination. A receiver then reads what kind of statement it is
looking at from the code and does not have to evaluate result or method first. That
recommendation is stated on the code element of each profile and, unlike the
invariant, is not enforced.
Everywhere else this module prefers test codes that leave the specimen out, with
Specimen.type carrying it instead. Serology is deliberately exempt. The
HL7 EU Lab Semantic Workgroup states the reason:
In comparison with culture techniques, far fewer specimen types are involved in serology. The majority of specimens are serum-based. Therefore, we allow pre-coordination of the specimen in the code.
The argument against pre-coordination is code explosion — a culture code multiplied by every body site. In serology that multiplier does not exist, so the cost is absent and the convention has nothing to buy.
The exemption covers Titre, Avidity, Antigen/antibody quantitative and the serological use of Specific determination — that last profile serves the molecular bench as well, where the convention continues to apply, so the exemption there attaches to the use and not to the profile.
A Specimen resource is still expected in every case: ballot question 1 is
unaffected. What the exemption permits is a test code that names serum; it does
not permit leaving Observation.specimen empty.
One further trait of serological reporting is worth knowing: the diagnosis often
follows from several results read together rather than from any one of them. That
statement belongs in DiagnosticReport.conclusion — see
Diagnostic report.
Observation.methodThe HL7 EU Lab Semantic Workgroup puts this as a core principle and states it more strongly than one might expect:
The LOINC-axis "method" should be omitted completely. […] Even if the method is pre-coordinated in the LOINC-Code the recommendation is to always represent the method consistently in
Observation.methodusing SNOMED CT.
So the method is to be given even where the test code already carries it — a
culture reported under 11475-1 |… by Culture| should still name whether it was
aerobic or anaerobic. In microscopy the stain is not part of the method: it is
given in
extension[faerbung], also
where the test code names it, and Observation.method keeps the microscopy
technique.
This guide states that as a recommendation, not as a requirement.
Observation.method is 0..1 Must Support in the laboratory base profile, and
making it mandatory across every investigation profile would invalidate
conformant data that exists today. The one place it is enforced is where the
statement is otherwise ambiguous: General culture with the method-neutral code
41852-5.
Ballot question 5 — can you supply Observation.method for every result?
The HL7 EU Lab Semantic Workgroup asks for it always; this guide only recommends
it. Would making it mandatory be deliverable at your site?
Two things follow from a yes. A later version can raise Observation.method to
1..1, and the special-case invariant on General culture becomes unnecessary —
41852-5 plus a method is then unambiguous everywhere, so the recommendation to
prefer the method-bearing 11475-1 largely falls away.
Microscopy and identification both answer "which organism", but they pin it down to different degrees. "Gram-positive cocci seen" is a taxonomic statement — it narrows the organism to a class rather than naming it. What separates General microscopy from General determination is therefore the granularity, not the axis.
That is not a metaphor. In SNOMED CT the microscopy answer is literally an ancestor of the identification answer — measured on 2026-09-10:
59206002 |Gram-positive coccus| subsumes 3092008 |Staphylococcus aureus|
From that follows a consequence worth knowing. SNOMED holds (finding) codes
only for the arranged forms — in chains, in clusters, in pairs — while the
bare morphologies exist only as (organism): 59206002,
18383003 |Gram-negative coccus|, 83514008, 87172008. Those four are
descendants of 409822003 |Bacteria domain| and therefore also members of the
organism ValueSet, which means they are valid values of General determination
as well.
For a consumer that means one rule: read the granularity from the profile or
the test code, never from value[x] alone. A query for identified organisms
that filters only on the value will also return morphological groups from
microscopy. The test codes are disjoint — the microscopy codes against 41852-5 — so no ambiguity arises; only a query written carelessly gets more
than it asked for.
A species identification never belongs in microscopy, even when it was made down a microscope.
| Question | Profile | Observation.code |
Observation.value |
|---|---|---|---|
| Is a predefined target detectable? (non-culture) | Specific determination | LOINC detection test, e.g. 105904-7 |
Detected / Not detected |
| Is a predefined microorganism there, sought by culture? | Specific determination | LOINC culture test, e.g. 13316-5 |
Detected / Not detected |
| Is a resistance gene detectable? | Resistance mechanisms / determinants | LOINC determinant, e.g. 48813-0 |
Detected / Not detected |
| How susceptible is an identified isolate to a substance? | Susceptibility | LOINC [Susceptibility], e.g. 29258-1 |
MIC as Quantity, assessment in interpretation (S / I / R) |
| Which MRGN class does an identified Gram-negative isolate belong to? | MRGN class | 99780-9 |
Classification value, e.g. 3MRGN, or keine-mrgn-klasse |
| Does a detected pathogen meet the criteria of a defined resistance category? | Resistance category status | mrsa-status, vre-status, lre-status, lvre-status (MII) |
Positive / Negative |
The investigation delivers the negative result of the detection test actually performed.
VRE detection by culture, negative:
mii-exa-mikrobio-spezifische-kultur-vre-negativ
VRE detection molecular or method-neutrally coded, negative:
mii-exa-mikrobio-spezifische-bestimmung-vre-negativ
To be distinguished from this is the case in which a Gram-negative isolate was identified and its susceptibility testing assessed, but it cannot be assigned to any MRGN class. This is a negative classification and is represented via the value keine-mrgn-klasse of the CodeSystem mii-cs-mikrobio-mrgn-ergebnis:
mii-exa-mikrobio-mrgn-klasse-negativ
The LOINC answer list for 99780-9 contains only 2MRGN, 3MRGN and 4MRGN and therefore no negative value; the MII-specific code closes that gap.
Different again is the assessment of a pathogen already present with respect to a resistance category:
mii-exa-mikrobio-resistenzkategorie-vre-negativ
Negative means: a detected pathogen was sufficiently assessed on the basis of the investigations relevant to the category named in code and does not meet its criteria. It explicitly does not mean that no pathogen was detected, that no resistance is present, or that no sufficient diagnostics were performed.
If the category cannot be assessed sufficiently, Negative is not given; instead dataAbsentReason is set or no status Observation is created at all.
The three cases in direct comparison, each for VRE:
| Statement | Profile | code |
value |
|---|---|---|---|
| VRE was sought by culture and not found | Specific determination | 13316-5 |
Not detected |
| VRE was sought and not found (molecular) | Specific determination | 105904-7 |
Not detected |
| An Enterococcus present is not a VRE | Resistance category status | vre-status |
Negative |
The resistance category status always assesses one named category. Including a category must be justified on domain grounds; not every individual antimicrobial resistance is a resistance category. In particular, no implicit derivation from the SNOMED subtree "antimicrobial resistant organism" takes place.
| Code | Category | Basis of assessment |
|---|---|---|
mrsa-status |
MRSA | Staphylococcus aureus + methicillin/oxacillin resistance (phenotypic or mecA/mecC) |
vre-status |
VRE | Enterococcus + vancomycin resistance (phenotypic or vanA/vanB) |
lre-status |
LRE | Enterococcus + linezolid resistance |
lvre-status |
LVRE | Enterococcus + linezolid and vancomycin resistance |
For Gram-negative pathogens with an MRGN classification, the representation is via MRGN class. There, the result of the MRGN assessment is given as 2MRGN, 3MRGN, 4MRGN or keine-mrgn-klasse.
An antibiogram is not one result but many — one Observation per antimicrobial
tested. The HL7 EU Lab Semantic Workgroup recommends binding them together with an
organizer Observation: one Observation carrying the panel code
29576-6 |Bacterial susceptibility panel| and no value[x] of its own, which
points at the individual results through Observation.hasMember. The organizer
in turn references the identification it followed through the triggeredBy
extension.
Observation: Bacterial susceptibility panel (29576-6), no value
triggeredBy → Observation: Organism identified
hasMember → Observation: Meropenem [Susceptibility], MIC 0.5 mg/L, S
hasMember → Observation: Ciprofloxacin [Susceptibility], MIC 4 mg/L, R
The three mechanisms have distinct jobs and should not be substituted for one another:
| Use | |
|---|---|
hasMember |
grouping — a panel or battery held together by an organizer |
triggeredBy |
reflex — the later investigation points back at what caused it |
derivedFrom |
derivation — a result computed or interpreted from another result |
triggeredBy in particular is not a grouping mechanism. And derivedFrom runs
from the derived result to its basis, not the other way round: a qualitative
detection carries derivedFrom pointing at the Ct value
it was read from, never the reverse.
This guide describes the pattern but does not profile it. Observation.hasMember
is available unconstrained from the laboratory base profile, and an organizer
profile would create a canonical of its own for something FHIR already settles.
A positive targeted detection can trigger follow-up diagnostics:
Positive targeted detection
(Specific determination, any technique)
│
│ triggeredBy (reflex)
▼
possibly further identification
│
│ triggeredBy (reflex)
▼
Susceptibility
│
├── possibly resistance mechanisms / determinants
│
│ derivedFrom
▼
Resistance category status
e.g. VRE status
Positive / Negative
Where the detection is already pathogen-specific, the target is defined in the test code. After MRSA detected or VRE detected, no separate identification need follow. If it is omitted, the susceptibility refers directly to the detection and the resistance category status does not list it in derivedFrom.
For the triggering relationship, the R5 backport extension extension-Observation.triggeredBy with type = reflex is used, as described under FHIR Profiles - Modelling Notes. The last step is the exception named there: the resistance category status is derived from several investigations and is not a triggered follow-up investigation - here derivedFrom captures the semantics. Those investigations SHOULD be given so that the basis of the assessment remains traceable.
Complete example of a chain:
Step 1 - positive VRE detection by pathogen-specific culture:
mii-exa-mikrobio-workflow-vre-01-kultur
Step 2 - further identification of the isolate (optional):
mii-exa-mikrobio-workflow-vre-02-identifikation
Step 3 - susceptibility testing:
mii-exa-mikrobio-workflow-vre-03-empfindlichkeit
Step 4 - derived resistance category status: