OHDSI Home | Forums | Wiki | Github

How to store patient’s character before onset of illness


Hi ,please tell me how to store patient’s character before onset of illness
I can use the descendants of 4284848 Character trait finding concept to describe the trait.

for example:
person id xxx
obsevation concept id 4284848 character trait finding
value as concept id descendants of 4284848
is that the right approach? @Dymshyts

(Christian Reich) #2


No need to split the concepts. You can put all the trains right into OBSERVATION_CONCEPT_ID. Except you have something like Level of neuroticism - finding. Then you would add something into VALUE_AS_CONCEPT_ID like High.

Question about event_id event_field_concept_id

I can not put all the trains into OBSERVATION_CONCEPT_ID,because the domain of these concepts are condition @Christian_Reich

(Dmytry Dymshyts) #4

@Andrea, sorry for a late responce

@Christian_Reich, They need to.
Look - let’s say, there’s a schizoaffective disorder patient:
before illness: calm, self-absorbed, keeps distance
during illness: talkative, doesn’t keep personal distance due to emotional flattening (totally different from what was before).

So, if we put “calm” as an event with the date within Observation period (when disorder is already present), we’ll get the wrong idea.
This way we have to have an Observation concept:
“Patient’s character before onset of illness” and then put descendants of Character trait finding as value_as_concept_id.
descendants of [Character trait finding] belong to Condition domain, but it’s fine, because we can put concept with any domain into OBSERVATION.value_as_concept_id.

Since I can’t find “Patient’s character before onset of illness”, I would recommend to create custom 2 bill concept.


I am confused about 2 bill concept?what does that mean?

(Dmytry Dymshyts) #6

In short,
see here:

point 15

We can chat by email (ddymshyts@odysseusinc.com) for more detailed information.

(Mui Van Zandt) #7

The 2 billion series is a way to expand the OHDSI vocabulary to store local codes so that they can be standardized. To do this, you have to create your own concepts starting with 2 billion and increment them for each of your own local codes. You also have to create a minimum of the "Maps To’ record in the Concept_Relationship table. Some folks chooses to create the “Mapped From” and also populate the “Concept_Ancestor” table as well.

Here is the THEMIS thread that talks about the use of the 2B series versus the source_to_concept table.

Here is the THEMIS thread that talks about why OHDSI has decided to not standardize the storage of the Source_value.

(Chris Knoll) #8

Just my 2 cents here:

It’s an infinite space to cover if you are going to combine a 3-dimensional condition (calm, self-absorbed, keeps distance) into a single concept. Do you have multiple levels of characteristic A,B,C? So you’ll have to define 1 concept for each possible combination. And then, if you do want to find the point of time where people are ‘calm’, you’ll have to put all the flavors of your concept where they are ‘calm’ into a concept set. You could set up a concept hierarchy for that, but hen you have an explosiion of concept_ancestor records to capture all the ancestors of each of the flavors.

@Dymshyts: can you please be more explicit in your problem with creating the different observations of the characteristics of the patient. What did you mean 'if we put ‘calm’ as an event with the date within Obseratino Period (when the disorder is present) we get the wrong idea. What is the wrong idea? Was the patient not calm? if the calm observatin is put in thhe data on a date that is after the schizoaffective disorder, then you just simply put the data in the observation table with the wrong dates.

In your example, I’d imagine there is either a condition that clinically defines a person who is ‘calm, self-absorbed and keeps distance’ and use that, or you put the 3 characteristics into observation on the same date and even associated with the same visit. then you’d have other observations where the person is talkative, doesn’t keep distance and those observations would be a different, later date or a different later visit.

Then to identify those people who went from calm to talkative it would be something like

find observation of 'doesn't keep distance due to emotional flattening''
  having at least 1 observation of 'talkative' at same visit
  and having at least 1 observation:
     'calm' at same visit
     'self-absorbed' at same visit
  between 180 days before and 1 day before observation

I’m not sure what this even could represent…before onset of which illness? shouldn’t the data be placed into the CDM on dates that represents the temporal pattern of what is happening in the patient experience?

I’m not sure how I’d write queries where the logic is ‘find records where the record says that this observation happened before some other observation’. what is the actual date of any of that?


wowwww.thank you~~ I have a look


thank you .if I still don’t understand,ask you again by email

(Dmytry Dymshyts) #11

Hi @Chris_Knoll
thanks for a detailed reply.

just 3 separate records. No dimensions or post or precoordination for these.
To simplify let’s consider only one dimension:
calm - active

Sorry for the confusion,
I suggested that Observation period starts when person gets diagnosed with the disease, but actually it doesn’t really matter.
So, let’s look at example:

2012-01-01 patient was diagnosed with schizoaffective disorder. Doctor asked relatives and they said, that patient was calm before the onset of illness, but now the patient is active.
So, in the data we’ll have something like
2012-01-01: patient character before the disease onset - calm
So, if we just put
observation_date = 2012-01-01
observation_concept = calm
it will be a mistake, because patient character got changed drastically due to mental illness. And 2012-01-01 the patient is not calm anymore.

So, yes, I’m talking about

In other words, we don’t have the actual date when the patient was calm, we only have the date when anamnesis was taken, so it might work only if we assign the date for this even (observed as calm) by ETL as a some date in the past.
OR as I suggested,
create a pair of Observation concept and it’s value.
Character before illness - character trait.
Similar to what we do with Personal history if illness:
Personal history of clinical finding - disorder.

Please let me know if it sounds reasonable for you

(Chris Knoll) #12

I think it is wrong-minded to put observations in a given date that describe other observations on a different date. As a hypothetical, a patient goes to a doctor with a rash, and the patient explains ‘but it wasn’t there last week’, i wouldn’t expect that we should be coding ‘no rash’ in the observation table.

In your example, you’re describing a state of a patient going from calm to agitated. You are asserting it was due to illness, but the CDM is about storing clinical findings (in this case). So record the observation that there was a schizo-related episode (the one that describes the actual change). I think we should be thinking about recording the observation of ‘what is the event’ or ‘what was the change that happened’ and not ‘what was the disposition of the person perior to the event that we’re observing?’ Again, I wouldn’t know how to use the ‘prior disposition’ reliably in any sort of analysis i’d perform, since we’re not getting any real qualification of how much prior to the event these things happen, what was the visit context that made the finding, etc.

(Chris Knoll) #13

On the note of personal history, I think the personal history also runs afoul. I have definitely used personal history codes in analysis I’ve performed, so I do know where that could be used, but I wouldn’t try to create an index date based on a ‘history of’ code…we don’t know anythign about the actual date that something happened in ‘personal history’.

What’s strange about the notion of ‘personal history’ is that everything in the CDM’s patient record is the ‘patient’s history’ if it happened before time index X. I feel the use of ‘patient history’ is used in those cases where ‘we don’t know when it happened, but we want to assert that it happened.’. So, this is all to say: we’d use personal history codes to fine-tune phenotype of a population, but we wouldn’t use it as a sort of ‘this condition was caused directly by some other observation that happened int he past’ which you’re attempting to do with the schizophrenia disorder case above.

Personally, if I wanted to represent some kind of personal history of something in the CDM, I’d just put the actual clinical finding code on the first day of their earliest observation period. Then the event that’s part of their ‘personal history’ is actually in the personal history. Otherwise, it’s just a normal observed event on a normal date in the CDM.

(Christian Reich) #14

Exactly. Usually, it means it happened before the time stamp, and some longer time before, because if it were just recently it would not be called “history”. History means it is fading into the past. But at least how far into the past? The Lord only knows.

We should get rid of those. If we did it right, we would have the entire SNOMED duplicated as “history of”. In reality, some of these exist, because they are more often used, but still. We need to split them up all.

This is even worse. Because it is not just in the “past”, it is before a certain onset. Which onset? We don’t know. Probably the last one? What disease? This is something you guys need to figure out in the Psych Working Group. Such a concept does not sound clean to me.

Guys. Let’s not use jargon like that. These are local concepts for which we reserve the ID space above 2 Billion. Sometimes called “2-billionaires”, but that, too, is jargon.

2-billionaires are for local source codes. They should not be made standard, because we cannot see them outside the institution. So, either map them to a standard or map them to 0 and use the source_concept_id. Need to find that in the Book and fix.


let’s go to an example.Patient XX felt uncomfortable and went to a hospital clinic on November 1, 2019. The doctor diagnosed him with schizophrenia.He was later hospitalized. Ask about personal history, one is about character before schizophrenia.so the onset is the first time he came to the hospital I think

As the example above is schizophrenia or the main diagnosis

thank you.I choose to map chinese ethnicity to 0 like @Dymshyts said, this is the fastest way

(Christian Reich) #16

My point. “Thinking” is not a fact we can use in the data. So, you either define it as “before the most recent onset”, which is defined as the onset of the disease the patient is currently treated for. That is probably what is meant by that. But it could mean character trait before the very first onset of that disease, i.e. how was the patient before the whole schizophrenia started. I don’t know. You are the psychiatrists.

If you can decide which one you could put the time stamp at a day or week before that onset (recent or first). Then you don’t need this whole construction with the Observation. Sounds like the most solid solution to me.

I understand “fast” is important, but why not put them at “Chinese” anyway. And provide the other ethnicities apart from Han, so @Dymshyts can add those in over time.


I know you point.My focus is on the patient’s pre-illness, in other words, the patient’s first personality before being diagnosed with schizophrenia. Although I only recorded the course of his illness this time, what I want to express is whether there can be a word indicating the above situation?

He and I are about to do it by email.Of course I can also list them in another topic or not only listed him in another topic, but also emailed him for him to organize

(Christian Reich) #18

Look. The OMOP CDM is not a system to conduct patient care. When something was recorded is of secondary importance. The primary focus is what happened to the patient and when. And if the patient used to be calm before the first diagnosis of the schizophrenia - why not record it as such. The fact that this was recorded in the EHR only after the 2nd psychotic event, or the 3rd, or the 4th - not really that relevant. Or is it?

Ok, then…


cause in china we may not get the very first diagnosis.The data of each patient is independent in each hospital, and the system of each hospital is not related.

(Christian Reich) #20

I see. Well, if you think about it, the character trait was before onset, but it was also anytime before that. It really has no date, it is more like a gender, race and genomic marker. Looks like in the Psychiatry Group you ought to figure out how to model facts that are not time-dependent. And propose it to the CDM WG.