Healthy Route Implementation Guide
0.1.0 - ci-build

Healthy Route Implementation Guide, published by Savannah Informatics. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/healthy-route-ig/ and changes regularly. See the Directory of published versions

: Healthy Route Measurement Codes - TTL Representation

Draft as of 2026-10-11

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://hl7.org/fhir/CodeSystem/hr-measurement> a fhir:CodeSystem ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "hr-measurement"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: CodeSystem hr-measurement</b></p><a name=\"hr-measurement\"> </a><a name=\"hchr-measurement\"> </a><p>This case-sensitive code system <code>https://fhir.savannahghi.org/ig/healthy-route/CodeSystem/hr-measurement</code> defines the following codes:</p><table class=\"codes\"><tr><td style=\"white-space:nowrap\"><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td></tr><tr><td style=\"white-space:nowrap\">age-at-consent<a name=\"hr-measurement-age-at-consent\"> </a></td><td>Age at consent</td><td>Completed years on the date consent was given, calculated from the date of birth. Derived.</td></tr><tr><td style=\"white-space:nowrap\">capable-of-consent<a name=\"hr-measurement-capable-of-consent\"> </a></td><td>Capable of giving signed informed consent</td><td>Inclusion criterion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">documented-egfr<a name=\"hr-measurement-documented-egfr\"> </a></td><td>Documented eGFR</td><td>An eGFR documented by the referring service before the visit, as the record shows it. Distinct from the eGFR the study calculates from its own creatinine.</td></tr><tr><td style=\"white-space:nowrap\">excl-undesirable<a name=\"hr-measurement-excl-undesirable\"> </a></td><td>Condition making participation undesirable</td><td>Exclusion criterion, in the investigator's opinion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">excl-eye-condition<a name=\"hr-measurement-excl-eye-condition\"> </a></td><td>Eye condition precluding retinal imaging</td><td>Exclusion criterion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">excl-emergency<a name=\"hr-measurement-excl-emergency\"> </a></td><td>Hypertensive, hyperglycaemic or hypoglycaemic emergency</td><td>Exclusion criterion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">excl-involvement<a name=\"hr-measurement-excl-involvement\"> </a></td><td>Involvement in the planning or conduct of the study</td><td>Exclusion criterion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">excl-noncompliance<a name=\"hr-measurement-excl-noncompliance\"> </a></td><td>Unlikely to comply with study procedures</td><td>Exclusion criterion. True or false.</td></tr><tr><td style=\"white-space:nowrap\">eligibility-outcome<a name=\"hr-measurement-eligibility-outcome\"> </a></td><td>Eligibility outcome</td><td>The outcome the rules in force computed from the criteria. Derived.</td></tr><tr><td style=\"white-space:nowrap\">cohort<a name=\"hr-measurement-cohort\"> </a></td><td>Cohort</td><td>Case or control, assigned from the documented eGFR. Derived.</td></tr><tr><td style=\"white-space:nowrap\">history-dm<a name=\"hr-measurement-history-dm\"> </a></td><td>Diabetes, reported</td><td>The participant reports a diagnosis of diabetes. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-htn<a name=\"hr-measurement-history-htn\"> </a></td><td>Hypertension, reported</td><td>The participant reports a diagnosis of hypertension. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-ckd<a name=\"hr-measurement-history-ckd\"> </a></td><td>Chronic kidney disease, reported</td><td>The participant reports a diagnosis of chronic kidney disease. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-hiv<a name=\"hr-measurement-history-hiv\"> </a></td><td>HIV, reported</td><td>The participant reports a diagnosis of HIV. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-heart<a name=\"hr-measurement-history-heart\"> </a></td><td>Heart disease, reported</td><td>The participant reports a diagnosis of heart disease. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-traditional<a name=\"hr-measurement-history-traditional\"> </a></td><td>Traditional medicine use</td><td>The participant reports current or previous use of traditional medicine. True or false.</td></tr><tr><td style=\"white-space:nowrap\">history-alcohol<a name=\"hr-measurement-history-alcohol\"> </a></td><td>Alcohol use</td><td>Current, past or nil. LOINC codes the quantity of alcohol, not whether a person drinks, so the status takes a local code.</td></tr><tr><td style=\"white-space:nowrap\">medications-none<a name=\"hr-measurement-medications-none\"> </a></td><td>No current medication</td><td>The participant takes no medication at present. Recorded so that an absent medication list is distinguishable from one not yet taken.</td></tr><tr><td style=\"white-space:nowrap\">fruit-days<a name=\"hr-measurement-fruit-days\"> </a></td><td>Days fruit eaten in a usual week</td><td>0 to 7.</td></tr><tr><td style=\"white-space:nowrap\">veg-days<a name=\"hr-measurement-veg-days\"> </a></td><td>Days vegetables eaten in a usual week</td><td>0 to 7.</td></tr><tr><td style=\"white-space:nowrap\">salt-added<a name=\"hr-measurement-salt-added\"> </a></td><td>Salt added at the table</td><td>How often, on the study's frequency scale.</td></tr><tr><td style=\"white-space:nowrap\">sugar-drinks<a name=\"hr-measurement-sugar-drinks\"> </a></td><td>Sugar-sweetened drinks</td><td>How often, on the study's frequency scale.</td></tr><tr><td style=\"white-space:nowrap\">work-activity<a name=\"hr-measurement-work-activity\"> </a></td><td>Physical activity at work</td><td>On the study's work activity scale.</td></tr><tr><td style=\"white-space:nowrap\">activity-days<a name=\"hr-measurement-activity-days\"> </a></td><td>Days of moderate or vigorous activity in a usual week</td><td>0 to 7.</td></tr><tr><td style=\"white-space:nowrap\">activity-minutes<a name=\"hr-measurement-activity-minutes\"> </a></td><td>Minutes of moderate or vigorous activity on those days</td><td>0 to 1440.</td></tr><tr><td style=\"white-space:nowrap\">seated-hours<a name=\"hr-measurement-seated-hours\"> </a></td><td>Hours seated in a usual day</td><td>0 to 24.</td></tr><tr><td style=\"white-space:nowrap\">fruit-veg-5plus<a name=\"hr-measurement-fruit-veg-5plus\"> </a></td><td>Fruit and vegetables eaten five days or more</td><td>Both day counts at five or more. Derived.</td></tr><tr><td style=\"white-space:nowrap\">activity-weekly-minutes<a name=\"hr-measurement-activity-weekly-minutes\"> </a></td><td>Weekly minutes of moderate or vigorous activity</td><td>Days multiplied by minutes. Derived.</td></tr><tr><td style=\"white-space:nowrap\">activity-who-met<a name=\"hr-measurement-activity-who-met\"> </a></td><td>WHO physical activity recommendation met</td><td>150 minutes a week or more. Derived.</td></tr><tr><td style=\"white-space:nowrap\">hip-circumference<a name=\"hr-measurement-hip-circumference\"> </a></td><td>Hip circumference</td><td>In centimetres. LOINC publishes a protocol code for hip circumference but not a measurement code, so the measurement takes a local one.</td></tr><tr><td style=\"white-space:nowrap\">waist-hip-ratio<a name=\"hr-measurement-waist-hip-ratio\"> </a></td><td>Waist-to-hip ratio</td><td>Waist circumference over hip circumference. Derived.</td></tr><tr><td style=\"white-space:nowrap\">bp-position<a name=\"hr-measurement-bp-position\"> </a></td><td>Blood pressure reading position</td><td>Whether the reading was taken before or after retinal capture, for the reading the protocol allows either side of it. Carried on the reading as an extension.</td></tr><tr><td style=\"white-space:nowrap\">bp-device<a name=\"hr-measurement-bp-device\"> </a></td><td>Blood pressure monitor</td><td>Which of the study's monitors took the reading. Carried on each reading as an extension.</td></tr><tr><td style=\"white-space:nowrap\">retinal-capture-time<a name=\"hr-measurement-retinal-capture-time\"> </a></td><td>Time of retinal capture</td><td>When retinal photography finished. The blood pressure readings are timed relative to it.</td></tr><tr><td style=\"white-space:nowrap\">flag-hypertension<a name=\"hr-measurement-flag-hypertension\"> </a></td><td>Hypertension flag</td><td>Raised readings, a reported history or current antihypertensive treatment. Derived.</td></tr><tr><td style=\"white-space:nowrap\">flag-t2d<a name=\"hr-measurement-flag-t2d\"> </a></td><td>Type 2 diabetes flag</td><td>HbA1c above threshold or a reported history. Derived.</td></tr><tr><td style=\"white-space:nowrap\">flag-ckd-stage-3<a name=\"hr-measurement-flag-ckd-stage-3\"> </a></td><td>CKD stage 3 or worse flag</td><td>Calculated eGFR below 60. Derived.</td></tr><tr><td style=\"white-space:nowrap\">creatinine-converted<a name=\"hr-measurement-creatinine-converted\"> </a></td><td>Serum creatinine, converted</td><td>The creatinine in mg/dL as the eGFR equation used it, when the laboratory reported another unit. Derived.</td></tr><tr><td style=\"white-space:nowrap\">hiv-test<a name=\"hr-measurement-hiv-test\"> </a></td><td>HIV test result</td><td>Reactive or non-reactive, as the laboratory reports it. The test method is not captured, so no LOINC code asserting one is used.</td></tr><tr><td style=\"white-space:nowrap\">fbc-taken<a name=\"hr-measurement-fbc-taken\"> </a></td><td>Full blood count taken</td><td>Whether a full blood count was taken. The count itself is not captured. True or false.</td></tr><tr><td style=\"white-space:nowrap\">images-dilated<a name=\"hr-measurement-images-dilated\"> </a></td><td>Images taken with dilation</td><td>True or false.</td></tr><tr><td style=\"white-space:nowrap\">images-right<a name=\"hr-measurement-images-right\"> </a></td><td>Image captured of the right eye</td><td>True or false.</td></tr><tr><td style=\"white-space:nowrap\">images-left<a name=\"hr-measurement-images-left\"> </a></td><td>Image captured of the left eye</td><td>True or false.</td></tr><tr><td style=\"white-space:nowrap\">images-synced<a name=\"hr-measurement-images-synced\"> </a></td><td>Images synced to the device cloud storage</td><td>True or false.</td></tr></table></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:url [ fhir:v "https://fhir.savannahghi.org/ig/healthy-route/CodeSystem/hr-measurement"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "HRMeasurementCS"] ; # 
  fhir:title [ fhir:v "Healthy Route Measurement Codes"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:date [ fhir:v "2026-10-11T11:12:01+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "Savannah Informatics"] ; # 
  fhir:contact ( [
     fhir:name [ fhir:v "Savannah Informatics" ] ;
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "https://savannahghi.org" ]
     ] )
  ] [
     fhir:name [ fhir:v "Savannah Informatics" ] ;
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "https://savannahghi.org" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Codes for the questions on the visit forms that LOINC does not cover, and for the values the study derives from them."] ; # 
  fhir:caseSensitive [ fhir:v true] ; # 
  fhir:content [ fhir:v "complete"] ; # 
  fhir:count [ fhir:v "44"^^xsd:nonNegativeInteger] ; # 
  fhir:concept ( [
     fhir:code [ fhir:v "age-at-consent" ] ;
     fhir:display [ fhir:v "Age at consent" ] ;
     fhir:definition [ fhir:v "Completed years on the date consent was given, calculated from the date of birth. Derived." ]
  ] [
     fhir:code [ fhir:v "capable-of-consent" ] ;
     fhir:display [ fhir:v "Capable of giving signed informed consent" ] ;
     fhir:definition [ fhir:v "Inclusion criterion. True or false." ]
  ] [
     fhir:code [ fhir:v "documented-egfr" ] ;
     fhir:display [ fhir:v "Documented eGFR" ] ;
     fhir:definition [ fhir:v "An eGFR documented by the referring service before the visit, as the record shows it. Distinct from the eGFR the study calculates from its own creatinine." ]
  ] [
     fhir:code [ fhir:v "excl-undesirable" ] ;
     fhir:display [ fhir:v "Condition making participation undesirable" ] ;
     fhir:definition [ fhir:v "Exclusion criterion, in the investigator's opinion. True or false." ]
  ] [
     fhir:code [ fhir:v "excl-eye-condition" ] ;
     fhir:display [ fhir:v "Eye condition precluding retinal imaging" ] ;
     fhir:definition [ fhir:v "Exclusion criterion. True or false." ]
  ] [
     fhir:code [ fhir:v "excl-emergency" ] ;
     fhir:display [ fhir:v "Hypertensive, hyperglycaemic or hypoglycaemic emergency" ] ;
     fhir:definition [ fhir:v "Exclusion criterion. True or false." ]
  ] [
     fhir:code [ fhir:v "excl-involvement" ] ;
     fhir:display [ fhir:v "Involvement in the planning or conduct of the study" ] ;
     fhir:definition [ fhir:v "Exclusion criterion. True or false." ]
  ] [
     fhir:code [ fhir:v "excl-noncompliance" ] ;
     fhir:display [ fhir:v "Unlikely to comply with study procedures" ] ;
     fhir:definition [ fhir:v "Exclusion criterion. True or false." ]
  ] [
     fhir:code [ fhir:v "eligibility-outcome" ] ;
     fhir:display [ fhir:v "Eligibility outcome" ] ;
     fhir:definition [ fhir:v "The outcome the rules in force computed from the criteria. Derived." ]
  ] [
     fhir:code [ fhir:v "cohort" ] ;
     fhir:display [ fhir:v "Cohort" ] ;
     fhir:definition [ fhir:v "Case or control, assigned from the documented eGFR. Derived." ]
  ] [
     fhir:code [ fhir:v "history-dm" ] ;
     fhir:display [ fhir:v "Diabetes, reported" ] ;
     fhir:definition [ fhir:v "The participant reports a diagnosis of diabetes. True or false." ]
  ] [
     fhir:code [ fhir:v "history-htn" ] ;
     fhir:display [ fhir:v "Hypertension, reported" ] ;
     fhir:definition [ fhir:v "The participant reports a diagnosis of hypertension. True or false." ]
  ] [
     fhir:code [ fhir:v "history-ckd" ] ;
     fhir:display [ fhir:v "Chronic kidney disease, reported" ] ;
     fhir:definition [ fhir:v "The participant reports a diagnosis of chronic kidney disease. True or false." ]
  ] [
     fhir:code [ fhir:v "history-hiv" ] ;
     fhir:display [ fhir:v "HIV, reported" ] ;
     fhir:definition [ fhir:v "The participant reports a diagnosis of HIV. True or false." ]
  ] [
     fhir:code [ fhir:v "history-heart" ] ;
     fhir:display [ fhir:v "Heart disease, reported" ] ;
     fhir:definition [ fhir:v "The participant reports a diagnosis of heart disease. True or false." ]
  ] [
     fhir:code [ fhir:v "history-traditional" ] ;
     fhir:display [ fhir:v "Traditional medicine use" ] ;
     fhir:definition [ fhir:v "The participant reports current or previous use of traditional medicine. True or false." ]
  ] [
     fhir:code [ fhir:v "history-alcohol" ] ;
     fhir:display [ fhir:v "Alcohol use" ] ;
     fhir:definition [ fhir:v "Current, past or nil. LOINC codes the quantity of alcohol, not whether a person drinks, so the status takes a local code." ]
  ] [
     fhir:code [ fhir:v "medications-none" ] ;
     fhir:display [ fhir:v "No current medication" ] ;
     fhir:definition [ fhir:v "The participant takes no medication at present. Recorded so that an absent medication list is distinguishable from one not yet taken." ]
  ] [
     fhir:code [ fhir:v "fruit-days" ] ;
     fhir:display [ fhir:v "Days fruit eaten in a usual week" ] ;
     fhir:definition [ fhir:v "0 to 7." ]
  ] [
     fhir:code [ fhir:v "veg-days" ] ;
     fhir:display [ fhir:v "Days vegetables eaten in a usual week" ] ;
     fhir:definition [ fhir:v "0 to 7." ]
  ] [
     fhir:code [ fhir:v "salt-added" ] ;
     fhir:display [ fhir:v "Salt added at the table" ] ;
     fhir:definition [ fhir:v "How often, on the study's frequency scale." ]
  ] [
     fhir:code [ fhir:v "sugar-drinks" ] ;
     fhir:display [ fhir:v "Sugar-sweetened drinks" ] ;
     fhir:definition [ fhir:v "How often, on the study's frequency scale." ]
  ] [
     fhir:code [ fhir:v "work-activity" ] ;
     fhir:display [ fhir:v "Physical activity at work" ] ;
     fhir:definition [ fhir:v "On the study's work activity scale." ]
  ] [
     fhir:code [ fhir:v "activity-days" ] ;
     fhir:display [ fhir:v "Days of moderate or vigorous activity in a usual week" ] ;
     fhir:definition [ fhir:v "0 to 7." ]
  ] [
     fhir:code [ fhir:v "activity-minutes" ] ;
     fhir:display [ fhir:v "Minutes of moderate or vigorous activity on those days" ] ;
     fhir:definition [ fhir:v "0 to 1440." ]
  ] [
     fhir:code [ fhir:v "seated-hours" ] ;
     fhir:display [ fhir:v "Hours seated in a usual day" ] ;
     fhir:definition [ fhir:v "0 to 24." ]
  ] [
     fhir:code [ fhir:v "fruit-veg-5plus" ] ;
     fhir:display [ fhir:v "Fruit and vegetables eaten five days or more" ] ;
     fhir:definition [ fhir:v "Both day counts at five or more. Derived." ]
  ] [
     fhir:code [ fhir:v "activity-weekly-minutes" ] ;
     fhir:display [ fhir:v "Weekly minutes of moderate or vigorous activity" ] ;
     fhir:definition [ fhir:v "Days multiplied by minutes. Derived." ]
  ] [
     fhir:code [ fhir:v "activity-who-met" ] ;
     fhir:display [ fhir:v "WHO physical activity recommendation met" ] ;
     fhir:definition [ fhir:v "150 minutes a week or more. Derived." ]
  ] [
     fhir:code [ fhir:v "hip-circumference" ] ;
     fhir:display [ fhir:v "Hip circumference" ] ;
     fhir:definition [ fhir:v "In centimetres. LOINC publishes a protocol code for hip circumference but not a measurement code, so the measurement takes a local one." ]
  ] [
     fhir:code [ fhir:v "waist-hip-ratio" ] ;
     fhir:display [ fhir:v "Waist-to-hip ratio" ] ;
     fhir:definition [ fhir:v "Waist circumference over hip circumference. Derived." ]
  ] [
     fhir:code [ fhir:v "bp-position" ] ;
     fhir:display [ fhir:v "Blood pressure reading position" ] ;
     fhir:definition [ fhir:v "Whether the reading was taken before or after retinal capture, for the reading the protocol allows either side of it. Carried on the reading as an extension." ]
  ] [
     fhir:code [ fhir:v "bp-device" ] ;
     fhir:display [ fhir:v "Blood pressure monitor" ] ;
     fhir:definition [ fhir:v "Which of the study's monitors took the reading. Carried on each reading as an extension." ]
  ] [
     fhir:code [ fhir:v "retinal-capture-time" ] ;
     fhir:display [ fhir:v "Time of retinal capture" ] ;
     fhir:definition [ fhir:v "When retinal photography finished. The blood pressure readings are timed relative to it." ]
  ] [
     fhir:code [ fhir:v "flag-hypertension" ] ;
     fhir:display [ fhir:v "Hypertension flag" ] ;
     fhir:definition [ fhir:v "Raised readings, a reported history or current antihypertensive treatment. Derived." ]
  ] [
     fhir:code [ fhir:v "flag-t2d" ] ;
     fhir:display [ fhir:v "Type 2 diabetes flag" ] ;
     fhir:definition [ fhir:v "HbA1c above threshold or a reported history. Derived." ]
  ] [
     fhir:code [ fhir:v "flag-ckd-stage-3" ] ;
     fhir:display [ fhir:v "CKD stage 3 or worse flag" ] ;
     fhir:definition [ fhir:v "Calculated eGFR below 60. Derived." ]
  ] [
     fhir:code [ fhir:v "creatinine-converted" ] ;
     fhir:display [ fhir:v "Serum creatinine, converted" ] ;
     fhir:definition [ fhir:v "The creatinine in mg/dL as the eGFR equation used it, when the laboratory reported another unit. Derived." ]
  ] [
     fhir:code [ fhir:v "hiv-test" ] ;
     fhir:display [ fhir:v "HIV test result" ] ;
     fhir:definition [ fhir:v "Reactive or non-reactive, as the laboratory reports it. The test method is not captured, so no LOINC code asserting one is used." ]
  ] [
     fhir:code [ fhir:v "fbc-taken" ] ;
     fhir:display [ fhir:v "Full blood count taken" ] ;
     fhir:definition [ fhir:v "Whether a full blood count was taken. The count itself is not captured. True or false." ]
  ] [
     fhir:code [ fhir:v "images-dilated" ] ;
     fhir:display [ fhir:v "Images taken with dilation" ] ;
     fhir:definition [ fhir:v "True or false." ]
  ] [
     fhir:code [ fhir:v "images-right" ] ;
     fhir:display [ fhir:v "Image captured of the right eye" ] ;
     fhir:definition [ fhir:v "True or false." ]
  ] [
     fhir:code [ fhir:v "images-left" ] ;
     fhir:display [ fhir:v "Image captured of the left eye" ] ;
     fhir:definition [ fhir:v "True or false." ]
  ] [
     fhir:code [ fhir:v "images-synced" ] ;
     fhir:display [ fhir:v "Images synced to the device cloud storage" ] ;
     fhir:definition [ fhir:v "True or false." ]
  ] ) . #