# LOINC Integration

**URL:** <https://community.open-emr.org/t/loinc-integration/18598>\
**Category:** OpenEMR Development\
**Created:** [May 20, 2020, 2:47am UTC](https://community.open-emr.org/t/loinc-integration/18598 "2020-05-20T02:47:32Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![RachelEllison](https://community.open-emr.org/user_avatar/community.open-emr.org/rachelellison/32/14041_2.png) [@RachelEllison](https://community.open-emr.org/u/RachelEllison)\
**Post date:** [May 20, 2020, 2:47am UTC](https://community.open-emr.org/t/loinc-integration/18598/1 "2020-05-20T02:47:32Z")

</div>

Is anyone looking at adding code to automagically import the LOINC code set to the external data loads page?

One thing that tripped me up when I tried it before is the fact that the csv file comes with column names(status, system) that are reserved by mariaDB.

> [@Where Can i download opensource ICD 10,HCPCS, SNOMED CT, DSM V, LOINC, CDT, CVX and Import them into openemr](https://community.open-emr.org/t/where-can-i-download-opensource-icd-10-hcpcs-snomed-ct-dsm-v-loinc-cdt-cvx-and-import-them-into-openemr/13155/10):
>
> You can find the LOINC table here and download as a CSV file. You may need to make an account. I ran into a problem loading the table as is due to there being a column named “Status” and another called “System” both of which are reserved words in MariaDB. I removed the column names, and saved the .csv file to the appropriate directory, in my case: C:\xampp\mysql\data\openemr\LoincNoHeaders.csv “To avoid mysql/mariadb reserved keyword conflicts, good practice to get in the habit of surro…

---

<div class="post-metadata">

**Author:** ![RachelEllison](https://community.open-emr.org/user_avatar/community.open-emr.org/rachelellison/32/14041_2.png) [@RachelEllison](https://community.open-emr.org/u/RachelEllison)\
**Post date:** [May 21, 2020, 9:15pm UTC](https://community.open-emr.org/t/loinc-integration/18598/2 "2020-05-21T21:15:13Z")

</div>

Did you guys see this?

> [@HL7 FHIR API Module](https://community.open-emr.org/t/hl7-fhir-api-module/14522):
>
> Hi all, In the past several months my team has been working on a module that extends the Openemr API. This API extension adheres to the HL7 FHIR (release 4) API standard, and we are constantly adding more functionality and implementations of the FHIR standard. The source code for this module is hosted on Github here: This repository contains some other modules along with the FhirAPI module. Some of these modules need to be installed as a prerequisite to the FhirAPI module. Documentation…

---

<div class="post-metadata">

**Author:** ![mdsupport](https://community.open-emr.org/user_avatar/community.open-emr.org/mdsupport/32/10763_2.png) [@mdsupport](https://community.open-emr.org/u/mdsupport)\
**Post date:** [May 26, 2020, 8:28pm UTC](https://community.open-emr.org/t/loinc-integration/18598/3 "2020-05-26T20:28:56Z")

</div>

@RachelEllison We are exploring how LOINC use can be integrated in encounters and lab orders. How are you using / planning to use the imported table? Have you explored use of accessory files instead of the starter file?

---

<div class="post-metadata">

**Author:** ![RachelEllison](https://community.open-emr.org/user_avatar/community.open-emr.org/rachelellison/32/14041_2.png) [@RachelEllison](https://community.open-emr.org/u/RachelEllison)\
**Post date:** [May 28, 2020, 12:57am UTC](https://community.open-emr.org/t/loinc-integration/18598/4 "2020-05-28T00:57:39Z")

</div>

Hi @mdsupport not sure how to use the imported table within OpenEMR since there’s a many to one mappings of LOINC codes to certain things like vitals.

Like blood pressure. Sometimes BPS and BPD are their own separate code but there is at least one LOINC code where it contains both measurements. There are also different codes for different measurement locations and modalities. Also codes you think would be adjacent to one-another are often non-sequential.

Take a look at the body temperature group as an example:

> **[Body temperature|Temp|Pt|Chal:None – LOINC](https://loinc.org/LG33052-8/)**
>
> This is dummy text!

Core

> **[Body temperature - Core – LOINC](https://loinc.org/8329-5/)**
>
> Version 2.72 8329-5Body temperature - CoreActive Fully-Specified Name Component Body temperature Property Temp Time Pt System Core Scale Qn Method Additional Names Short Name Bdy temp Core Consumer Name Alpha Core temperature Basic Attributes Class...

Axillary

> **[Axillary temperature – LOINC](https://loinc.org/8328-7/)**
>
> Version 2.72 8328-7Axillary temperatureActive Fully-Specified Name Component Body temperature Property Temp Time Pt System Axillary Scale Qn Method Additional Names Short Name Axil temp Consumer Name Alpha Axillary temperature Basic Attributes Class...

Oral route

> **[Oral temperature – LOINC](https://loinc.org/8331-1/)**
>
> Version 2.72 8331-1Oral temperatureActive Fully-Specified Name Component Body temperature Property Temp Time Pt System Mouth Scale Qn Method Additional Names Short Name Oral temp Consumer Name Alpha Mouth temperature Basic Attributes Class...

Rectal temperature

> **[Rectal temperature – LOINC](https://loinc.org/8332-9/)**
>
> Version 2.72 8332-9Rectal temperatureActive Fully-Specified Name Component Body temperature Property Temp Time Pt System Rectum Scale Qn Method Additional Names Short Name Rectal temp Consumer Name Alpha Rectum temperature Basic Attributes Class...

Typanic membrane

> **[Ear temperature – LOINC](https://loinc.org/76011-6/)**
>
> Version 2.72 76011-6Ear temperatureActive Term Description Ear temperature can be used for continuous monitoring during anesthesia, and some ear temperature probes include heaters to prevent convective air currents that distort the temperature...

Body surface

> **[Body surface temperature – LOINC](https://loinc.org/61008-9/)**
>
> Version 2.72 61008-9Body surface temperatureActive Fully-Specified Name Component Body temperature Property Temp Time Pt System Surface Scale Qn Method Additional Names Short Name Body surf temp Consumer Name Alpha Surface temperature Basic...

Body temperature

> **[Body temperature – LOINC](https://loinc.org/8310-5/)**
>
> Version 2.72 8310-5Body temperatureActive Fully-Specified Name Component Body temperature Property Temp Time Pt System ^Patient Scale Qn Method Additional Names Short Name Body temperature Consumer Name Alpha Body Temperature Associated Observations...

Skin

> **[Temperature of Skin – LOINC](https://loinc.org/39106-0/)**
>
> Version 2.72 39106-0Temperature of SkinActive Fully-Specified Name Component Temperature Property Find Time Pt System Skin Scale Nom Method Additional Names Short Name Temp Skin Example Answer List LL3920-7 Source: LOINC Nursing Subcommittee Answer...

My primary interest is in using it to import CCDA and FHIR data. I tried to load up different ccda files generated by synthea but it missed a lot of information due to serve\_ccda.js at the time using a single hardcoded LOINC value for specific locations in the database.

---

<div class="post-metadata">

**Author:** ![mdsupport](https://community.open-emr.org/user_avatar/community.open-emr.org/mdsupport/32/10763_2.png) [@mdsupport](https://community.open-emr.org/u/mdsupport)\
**Post date:** [May 28, 2020, 2:11am UTC](https://community.open-emr.org/t/loinc-integration/18598/5 "2020-05-28T02:11:32Z")

</div>

We want to look at converting panels into forms. As an example, instead of current fixed column form\_vitals table, installation can choose one of the vitals panel:

| LOINC | Long Common Name |
| --- | --- |
| 85354-9 | Blood pressure panel with all children optional |
| 88346-2 | Intravascular blood pressure with exercise and post exercise panel |
| 34553-8 | Orthostatic blood pressure panel |
| 55417-0 | Short blood pressure panel |
| 89263-8 | Special circumstances associated observations panel |
| 72513-5 | Vital signs with smoking status and pain scale [VSP] |
| 67795-5 | Vital signs, weight, height, head circumference and oximetry panel HITSP |
| 74728-7 | Vital signs, weight, height, head circumference, oximetry, BMI, and BSA panel – HL7.CCDAr1.1 |
| 85353-1 | Vital signs, weight, height, head circumference, oxygen saturation and BMI panel |

If the last panel is chosen, we can build form and capture following data :

| LOINC | Name | R/O/C | Cardinality | Example UCUM Units |
| --- | --- | --- | --- | --- |
| 85353-1 | Vital signs, weight, height, head circumference, oxygen saturation and BMI panel | | | |
| 9279-1 | Respiratory rate | O | 0…1 | {breaths}/min |
| 8867-4 | Heart rate | O | 0…1 | {beats}/min |
| 8361-8 | Body position with respect to gravity | O | 0…1 | |
| 8887-2 | Type of Heart rate device | O | 0…1 | |
| 59408-5 | Oxygen saturation in Arterial blood by Pulse oximetry | O | 0…1 | % |
| 3151-8 | Inhaled oxygen flow rate | O | 0…1 | L/min |
| 8310-5 | Body temperature | O | 0…1 | Cel |
| 8327-9 | Body temperature measurement site | O | 0…1 | |
| 8326-1 | Type of Body temperature device | O | 0…1 | |
| 8352-7 | Clothing worn during measure | O | 0…1 | |
| 8302-2 | Body height | O | 0…1 | [in\_i] |
| 8306-3 | Body height --lying | O | 0…1 | [in\_us];cm |
| 8287-5 | Head Occipital-frontal circumference by Tape measure | O | 0…1 | cm |
| 29463-7 | Body weight | O | 0…1 | kg |
| 39156-5 | Body mass index (BMI) [Ratio] | O | 0…1 | kg/m2 |

Guess if that works, it will make it easier to export CCDA/FHIR data. Thx

---

<div class="post-metadata">

**Author:** ![RachelEllison](https://community.open-emr.org/user_avatar/community.open-emr.org/rachelellison/32/14041_2.png) [@RachelEllison](https://community.open-emr.org/u/RachelEllison)\
**Post date:** [May 28, 2020, 7:07pm UTC](https://community.open-emr.org/t/loinc-integration/18598/6 "2020-05-28T19:07:03Z")

</div>

The forms idea makes a lot of sense. My initial thought was to create a map using the top 2000 codes but what you’re proposing makes a lot more sense than what I was thinking.

> **[Common LOINC Laboratory Observation Codes – LOINC](https://loinc.org/usage/obs/)**
>
> \[et\_pb\_section fb\_built="1" admin\_label="section" \_builder\_version="3.22" custom\_padding="20px|||" custom\_padding\_tablet="20px|||" transparent\_background="off" padding\_mobile="on" make\_fullwidth="off" use\_custom\_width="off" width\_unit="on"...

---

<div class="post-metadata">

**Author:** ![daveboerner](https://community.open-emr.org/user_avatar/community.open-emr.org/daveboerner/32/15053_2.png) [@daveboerner](https://community.open-emr.org/u/daveboerner)\
**Post date:** [October 13, 2020, 2:15pm UTC](https://community.open-emr.org/t/loinc-integration/18598/7 "2020-10-13T14:15:13Z")

</div>

Hi Jerry,

I’ve installed OpenEMR on a google cloud instance.  
When logging in as admin I don’t see either option required under the Prerequisites section, there’s simply no option to enable either API service:

### Prerequisite

Enable the Standard API service (/api/ endpoints) in OpenEMR menu: Administration-\>Globals-\>Connectors-\>“Enable OpenEMR Standard REST API” Enable the Patient Portal API service (/portal/ endpoints) in OpenEMR menu: Administration-\>Globals-\>Connectors-\>“Enable OpenEMR Patient Portal REST API”

I’m also getting a 404 when attempting any of the RESTful calls to pull tokens - which I believe is because I’m not able to enable these REST and FHIR APIs from the admin.

Is there a step I’m missing here?

---

<div class="post-metadata">

**Author:** ![sjpadgett](https://community.open-emr.org/user_avatar/community.open-emr.org/sjpadgett/32/21623_2.png) [@sjpadgett](https://community.open-emr.org/u/sjpadgett)\
**Post date:** [October 13, 2020, 2:34pm UTC](https://community.open-emr.org/t/loinc-integration/18598/8 "2020-10-13T14:34:14Z")

</div>

Hi David,  
I don’t understand why you wouldn’t. What version OpenEMR?  
v5.0.2

 ![image](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/f/f4aae8dc72f184c068c313f9dccba2c27ba839a9.png)  
v6.0.0-dev(master today)  
 ![image](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/c/c303cdd4aadde383b8843c49ad97c68cf28603fd.png)

Also check your admin user permissions.  
v6

 ![image](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/8/809e03a82bca760c6773ba8ce24e0f52c2322052.png)

---

<div class="post-metadata">

**Author:** ![daveboerner](https://community.open-emr.org/user_avatar/community.open-emr.org/daveboerner/32/15053_2.png) [@daveboerner](https://community.open-emr.org/u/daveboerner)\
**Post date:** [October 13, 2020, 9:07pm UTC](https://community.open-emr.org/t/loinc-integration/18598/9 "2020-10-13T21:07:51Z")

</div>

Hi Jerry,

I’m on v 5.0.1 - here’s my connectors screen, no enable OpenEMR REST API (or FHIR API option either).

 ![image](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/7/7f25a0317eafb6e9de6e0ac5ca269465b0954f50.png)

I don’t see anything off in my Admin user settings

 ![image](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/9/95c4bb836e36702862499239abfa4e169af0ba59.png)

---

<div class="post-metadata">

**Author:** ![daveboerner](https://community.open-emr.org/user_avatar/community.open-emr.org/daveboerner/32/15053_2.png) [@daveboerner](https://community.open-emr.org/u/daveboerner)\
**Post date:** [October 30, 2020, 4:48pm UTC](https://community.open-emr.org/t/loinc-integration/18598/10 "2020-10-30T16:48:19Z")

</div>

@sjpadgett @brady.miller

Jerry/Brady,

Is there any clear documentation on how to upgrade openEMR, specifically for ubuntu on google cloud platform?

The directions I’ve been able to scrounge up don’t seem to apply to this implementation and I’m apparently stuck getting this APIs activated until I’m on a newer version…

---

<div class="post-metadata">

**Author:** ![juggernautsei](https://community.open-emr.org/user_avatar/community.open-emr.org/juggernautsei/32/10764_2.png) [@juggernautsei](https://community.open-emr.org/u/juggernautsei)\
**Post date:** [June 9, 2022, 4:42am UTC](https://community.open-emr.org/t/loinc-integration/18598/11 "2022-06-09T04:42:03Z")

</div>

> [@mdsupport](#):
>
> We are exploring how LOINC use can be integrated in encounters and lab orders. How are you using / planning to use the imported table? Have you explored use of accessory files instead of the starter file?

@mdsupport did your team get this working?

---

<div class="post-metadata">

**Author:** ![mdsupport](https://community.open-emr.org/user_avatar/community.open-emr.org/mdsupport/32/10763_2.png) [@mdsupport](https://community.open-emr.org/u/mdsupport)\
**Post date:** [June 9, 2022, 3:57pm UTC](https://community.open-emr.org/t/loinc-integration/18598/12 "2022-06-09T15:57:52Z")

</div>

Use of LOINC data is complex since various records are linked to each other for multiple use cases. But taking [first stab](https://github.com/openemr/openemr/issues/5411) of making raw data available for use throughout the application. Not sure how much of our development will be useful for this project since we use database views and procedures to make core relationships logic available across multiple platforms. This project somehow does everything in PHP alone for whatever reasons.

PS:  
If interested, also check out [#5300](https://github.com/openemr/openemr/issues/5300).

---

<div class="post-metadata">

**Author:** ![juggernautsei](https://community.open-emr.org/user_avatar/community.open-emr.org/juggernautsei/32/10764_2.png) [@juggernautsei](https://community.open-emr.org/u/juggernautsei)\
**Post date:** [June 9, 2022, 4:17pm UTC](https://community.open-emr.org/t/loinc-integration/18598/13 "2022-06-09T16:17:32Z")

</div>

My interest in LOINC is for lab panels only. From what I was reading last night the FHIR is still in Beta stage. But it pulls everything like you are saying and the observations are not in my scope of work right now.  
From what you said about views. Your team have DBA experience. I have run across databases with views that took over the clinical rules to manage those relationships.  
One day I may have those skills.

---

<div class="post-metadata">

**Author:** ![mdsupport](https://community.open-emr.org/user_avatar/community.open-emr.org/mdsupport/32/10763_2.png) [@mdsupport](https://community.open-emr.org/u/mdsupport)\
**Post date:** [June 9, 2022, 5:57pm UTC](https://community.open-emr.org/t/loinc-integration/18598/14 "2022-06-09T17:57:22Z")

</div>

Last time I looked, that interface requires getting catalog from individual lab and stores it in its own structure. You should look at eliminating that approach and using LOINC data from central table. In FHIR/interconnected world, practices or labs should not be inventing their own codes that no one else will understand.

If you post your detailed requirements and plan in a separate thread, I can give my 2 cents.
