<templateId root="2.16.840.1.113883.10.20.22.2.5.1"/>
<code code="11450-4"
codeSystem="2.16.840.1.113883.6.1"
codeSystemName="LOINC"
displayName="PROBLEM LIST"/>
<title>PROBLEMS</title>
<text> <content ID="noproblems1">No known problems </content></text>
<!-- Problem Concern Act -->
<entry>
<!-- Problem Concern Act template -->
<act classCode="ACT" moodCode="EVN">
<templateId root="2.16.840.1.113883.10.20.22.4.3"/><id root="6a2fa88d-4174-4909-aece-db44b60a3abb"/><code code="CONC"displayName="Concern"codeSystem="2.16.840.1.113883.5.6"codeSystemName="HL7ActClass"/><statusCode code="completed"/><effectiveTime>
<low value=”20000902"/>
<high nullFlavor="NA"/></effectiveTime><entryRelationship typeCode="SUBJ">
<observation classCode="OBS" moodCode="EVN" negationInd="true"><!-- Problem Observation template --><templateId root="2.16.840.1.113883.10.20.22.4.4"/><id root="84a64e5c-eeff-4447-95b5-a0b754967ab7"/><code code="55607006" displayName="Problem"codeSystem="2.16.840.1.113883.6.96"codeSystemName="SNOMED CT" /><text><reference value="#noproblems1"/></text>
<statusCode code="completed" /><effectiveTime><low nullFlavor="NA"/><high nullFlavor="NA"/></effectiveTime>
<value xsi:type="CD"
code="55607006"codeSystem="2.16.840.1.113883.6.96"codeSystemName="SNOMED CT"displayName="Problem" /></observation>
</entryRelationship>
</act>
</entry>
To tie back into your other email, does the <entry> element need a typeCode=”DRIV”?
Good point. I would think so. In this case, I think DRIV is relevant as we do indeed capture the “No known problems” narrative fully in the structured content.
Setting aside (as per the other thread) whether a receiver will trust our claim on that or not, and even though the validators don’t care either way, I would think it is good form to assert it when it’s true (as it is here).
Kumara – let’s add it to the sample.
Brian
From Lisa:
BTW – re the act.effectiveTime element of the example below. When act.statusCode is “active” then it makes sense for the effectiveTime/low to hold a date and effectiveTime/high to be null. When act.statusCode is “completed” then you have either an effectiveTime/low and an effectiveTime/high value with a date, or perhaps just an effectiveTime/high with a date and effectiveTime/low could be null (maybe to say you don’t know when the concern was first identified, but it is no longer a concern).
2) DRIV vs. COMP
2.1) We need to decide if the entry for the Problem Concern Act template for this "No known problems" sample should have typecode=DRIV or not. I think it should.
3) inversionInd
3.1) Do we need inversionInd="false" in the entryRelationship that contains the Problem Observation template. I don't think so.
4) text reference in a negation
4.1) How do we want to handle the text element (which is a SHOULD) in the Problem Observation template? Do we point to the text "No known problems" even though the observation has a neagationInd="false" which means that might be interpreted as a double-negative ("does not have no known problems")? I think we should.
5) SNOMED vs. HL7ActClass for code in the Problem Observation template
5.1) The IG example for No Known Problems on page 450, figure 214, uses the Code System HL7ActCode for the code element in the Problem Observation template. However, the conformance statement (CONF:9045 on page 448) says that the code SHOULD come from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2012-06-01 (which is SNOMED). I have reverted to HL7ActCode as per the IG sample, but if that is correct, I think it has to be reported as an errata on the IG.
6) statusCode for Concern vs. Observation
6.1) There is a statusCode in both the Problem Concern Act template and the Problem Observation template. My current proposal is that in the Problem Concern Act template it should be active and in the Problem Observation template it should be completed.
7) how to set id in samples
There is an id element required in both the Problem Concern Act template and the Problem Observation template. What should be our approach for generating fictitious id elements in our samples? For now I just put in "1234567890-1" and "1234567890-2".
I would appreciate any and all input on my proposals above and which ones need further discussion. Also, any input on whether there are other open issues in this sample?
Kumara,
Note: I didn’t see your message below get posted into Google Groups – still working out the configuration settings there, we’ll get it right soon…
In terms of what you wrote below, we went around the block on this on the listserv a few months back (in January). I think the discussion there suggested that the concern act is not necessarily when the doctor started monitoring. It is the data that the doctor now feels the concern started. So, in your example, the concern act would probably be the earliest date of the observation (June 2006). But either way, you are right that if someone had three bleeding ulcer episodes over a 5 year period there would be three observations each with their own time range and they could all be in one concern that might still be open-ended about an overall concern related to the recurring ulcers. It’s a good (but separate) discussion how that matches up with what EMRs capture (and there may be different answers there for different EMRs) as well as some of the nuance on the relationship of the effectiveTime ranges between the concern and its nested observations.
But right now, I’d like to stay focused (only) on the question of how to set the effectiveTime and statusCode for “No Problems Known”.
What I have proposed based on my understanding from Lisa and others is the following for “No Problems Known”:
1) The Problem Observation template will be set to NA for nullFlavor for both low and high and a statusCode of “completed”
2) The Problem Concern Act template has in low the earliest date when there were “No Problems Known” (the last date there was a Known Problem or a UNK for nullFlavor if you don’t know when the “No Problems Known” status started) and NA for high. Its statusCode is “active”.
Are you good with that or do you want to suggest something else?
Brian
From: Kumara Prathipati [mailto:kuma...@yahoo.com]
Sent: Tuesday, June 04, 2013 17:36
To: Brian Weiss; ccda_s...@googlegroups.com
Cc: 'Lisa Nelson'
Subject: PROBLEM LIST SECTION EFFECTIVE TIME
Brian,
With ref to C-CDA IG 5.59 section
Problem Observation effective time (2.16.840.1.113883.10.20.22.4.4)
low value = problem start date ( I noticed bleeding stomach ulcer in June 2006)
high value = problem resolved date ( I stopped taking medicines for bleeding ulcer Sept 2006 because ulcer healed.)
Problem act effective time (patient did not see physician in June 2006. He saw physician in July 2006)
low value = when did the doctor start monitoring the concern - July 2006 (Bleeding ulcer entered into EMR )
how value = when did the doctor stop monitoring this concern ( status changed to resolved or suspended or aborted)
monitoring = monitoring disease progression
providing treatment
referring to appropriate consultants
running blood tests on the problem
etc..etc..
But if we look into many EMR products
none of them capture act.effectivetime
They only capture observation.effectivetime
For problem list ( and also for allergies)
we have 2 important effective times
1. for Problem Act (2.16.840.1.113883.10.20.22.4.3)
1. for Problem Observation (2.16.840.1.113883.10.20.22.4.4)
This is my understanding of effective time for Problem act and observation.
I am hoping some experts in CCDA will join this group to help us clarify the issues we come across.
Kumara
Kumara, I agree with you and Brian, but prefer Brian’s analysis which includes consideration of the act.statusCode. The correct answer is conditional, based on the value of the act.statusCode.
Table 124: ProblemAct statusCode Value Set Value Set: ProblemAct statusCode 2.16.840.1.113883.11.20.9.19 STATIC 2011-09-09 | |||
Code System(s): | ActStatus 2.16.840.1.113883.5.14 | ||
Description: | This value set indicates the status of the problem concern act | ||
Code | Code System | Print Name | |
active | ActStatus | active | |
suspended | ActStatus | suspended | |
aborted | ActStatus | aborted | |
completed | ActStatus | completed | |
A. When the concern is still active (act.statusCode=”active”) then one would expect there to be an act.effectiveTime/low value (date when concern began being tracked) and act.effectiveTime/high would be nullflavor=”UNK”.
B. When the concern is suspended (act.statusCode=”suspended”) then one would expect there to be an act.effectiveTime/low value (date when concern began being tracked) and act.effectiveTime/high would be the date the concern was moved into the status of suspended.
C. When the concern is aborted (act.statusCode=”aborted”) then one would expect there to be an act.effectiveTime/low value (date when concern began being tracked) and act.effectiveTime/high would be the date the concern was moved into the status of aborted.
D. When the concern is completed (act.statusCode=”completed”) then one would expect the act.effectiveTime/low value to be nullflavor=”NA” (because there was no date when a concern began being tracked) and act.effectiveTime/high would be the date the concern was moved into the status of completed.
In the case where the only thing the author wants to document in the problem section is “no known problems”, then it doesn’t seem like the author would want to show an on-going active concern. The author was concerned to learn if the patient had any problems, none were reported or observed, and so the concern, it seems to me, should be documented as completed. The pattern for effectiveTime would follow case D above. There would be a single Problem Observation with negationInd=”true”. and as Brian noted below, The Problem Observation template will have a statusCode of “completed”. I think the better option for the effectiveTime on that observation would be to populate the low and high with the date that the observation was made that there were no problems. The doctor was not concerned at this point in time, because at this point in time, no problems were reported or observed. I don’t think the effectiveTime should be a null flavor.
Sorry to stir the pot again, but I really appreciate the focus we are bringing on this issue. Thanks for making a more comfortable discussion space for these kind of nitty gritty details to be discussed at length.
Lisa
Lisa R. Nelson, MSc, MBA | Consultant | Life Over Time Solutions | cell: 401.219.1165 | Westerly, RI | LisaR...@cox.net
1) I think for a concern where statusCode="active", high should be nullFlavor="NA" not nullFlavor="UNK" (UNK means "A proper value is applicable, but is not known." whereas NA means "Known to have no proper value")2) I don't understand why in the case of a concern where statusCode="completed" you have low set as nullFlavor="NA". I would think it should be like in A-C ("when concern began being tracked"). Perhaps that is not going to be known for a concern where statusCode="completed" - in that case I would say that low should be nullFlavor="UNK" (not "NA"). And if it is known, the fact that the concern is now completed doesn't change that date.
no problem" is technically not a concern for the doctor
1. for Problem Act (2.16.840.1.113883.10.20.22.4. 3)1. for Problem Observation (2.16.840.1.113883.10.20.22.4. 4)