OHDSI Home | Forums | Wiki | Github

FHIR to OMOP Mapping Challenge of the Week: Blood pressure systolic and diastolic with unmapped, not valid code (55284-4)

There is a LOINC concept 55284-4 that appears in some FHIR resources, for example the attached patient$everything from synthmass.

This code is for “Blood pressure systolic and diastolic” and is in the OMOP concept table as shown below.

This concept is not a standard concept, is not a valid concept (from OMOP’s perspective) and does not have a mapping to any standard concept in OMOP.

This concept appears in the FHIR resource in the snippet shown below.

CHALLENGE OF THE WEEK:
What records should be created in OMOP to represent the snippet shown below?

		"resource": {
			"category": [
				{
					"coding": [
						{
							"code": "vital-signs",
							"display": "vital-signs",
							"system": "http://hl7.org/fhir/observation-category"
						}
					]
				}
			],
			"code": {
				"coding": [
					{
						"code": "55284-4",
						"display": "Blood Pressure",
						"system": "http://loinc.org"
					}
				],
				"text": "Blood Pressure"
			},
			"component": [
				{
					"code": {
						"coding": [
							{
								"code": "8462-4",
								"display": "Diastolic Blood Pressure",
								"system": "http://loinc.org"
							}
						],
						"text": "Diastolic Blood Pressure"
					},
					"valueQuantity": {
						"code": "mmHg",
						"system": "http://unitsofmeasure.org",
						"unit": "mmHg",
						"value": 84.88290301982099
					}
				},
				{
					"code": {
						"coding": [
							{
								"code": "8480-6",
								"display": "Systolic Blood Pressure",
								"system": "http://loinc.org"
							}
						],
						"text": "Systolic Blood Pressure"
					},
					"valueQuantity": {
						"code": "mmHg",
						"system": "http://unitsofmeasure.org",
						"unit": "mmHg",
						"value": 117.69213707496547
					}
				}
			],
			"context": {
				"reference": "Encounter/52430cb1-a0d3-4d1e-926c-c878c218502e"
			},
			"effectiveDateTime": "2018-05-06T04:07:24-04:00",
			"id": "186e8672-f9ac-4419-8c5d-1e824bf6e536",
			"issued": "2018-05-06T04:07:24.278-04:00",
			"meta": {
				"lastUpdated": "2019-04-09T08:36:08.363897+00:00",
				"versionId": "MTU1NDc5ODk2ODM2Mzg5NzAwMA"
			},
			"resourceType": "Observation",
			"status": "final",
			"subject": {
				"reference": "Patient/0000aa42-c235-4447-8389-8a2640f44466"
			}
		}

The same concept 40758413 - Blood pressure systolic and diastolic shows up as a standard concept in Athena, so it is odd that it is showing up as invalid due to deletion in your vocabulary table. Are you working with the most recent version of the vocabularies?

In any case, you would want to have two “measurement” rows for this record, one for each component, Diastolic Blood Pressure, and Systolic Blood Pressure. Since the 8462-4 code is mapped to the measurement domain, but contains no value apart from the components, it would not make sense from an OMOP perspective to create a third row with this concept set as a measurement_concept_id.

Also, wow, that is a lot of significant figures on a blood pressure value! :slight_smile:

1 Like

Thanks Jake!

  • How should the systolic and diastolic measurements be connected to show that they are part of the same multi-component measurement? Is there a way to include the 55284-4 code to indicate that the sys/dia measurements are part of the multi-part measurement represented by this code?

  • For the purpose of this use case, lets assume my copy of the concept table is correct, what do we do for a concept like this with no mapping to a standard concept?

How should the systolic and diastolic measurements be connected to show that they are part of the same multi-component measurement?

If there was a single blood pressure reading for the day, say from a visit to the doctor, the fact that both reading belong to the same visit is sufficient.

Is there a way to include the 55284-4 code to indicate that the sys/dia measurements are part of the multi-part measurement represented by this code?

Yes, in CDMv5.4 Measurement has measurement_event_id and meas_event_field_concept_id columns to enable referencing the measurement back to a single record. But as always when doing your ETL, ask the question," is this necessary, will it be used?". If the answer is yes, your solution or convention will most likely be applicable only to your local site. For example, you could add the Measurement record for Blood pressure systolic and diastolic even though there will be no values associated with the record. Then the record for Blood pressure systolic and diastolic can be the anchor that the systolic and diastolic Measurement records reference in the measurement_event_id and meas_event_field_concept_id columns.

For the purpose of this use case, lets assume my copy of the concept table is correct, what do we do for a concept like this with no mapping to a standard concept?

Add the record with the event concept id equal to zero and save the code or description in event source value. When doing an ETL it is almost always possible, by the context, to define a default domain. For example if reading from a medications table we use COALESCE(target_domain, ‘Drug’) as event domain. If there is no mapping to a standard concept the record is still added to Drug Exposure with drug concept id equal to zero and drug source value set to either the code or description, whichever seems most appropriate for your CDM.

1 Like

@DTorok - great explanation!
I don’t know if this is common practice, but would using the datetime field help in grouping those measurements? It is not an exact way as the anchor approach, but maybe more granular than visits.
And @greshje.gmail, you picked an interesting example: for this particular LOINC code, actually Regenstrief discourages its use…
It is not yet deprecated so it is still standard and active in Athena, but LOINC also does not provide relationships to the two codes that they would prefer (systolic (LOINC 8480-6) and diastolic (LOINC 8462-4)) to be used, so these are also not represented in Athena.

1 Like

Thanks a million @Jake, @DTorok , and @mik. Great answers!!!

Colorado originally used the Fact Relationship table to link the systolic and diastolic blood pressures together. However, we found our analysts prefer

t