Indivo Data Model: LabResult

Model Definition

As SDML:

{
    "__modelname__": "LabResult",
    "abnormal_interpretation": "CodedValue",
    "accession_number": "String",
    "test_name": "CodedValue",
    "status": "CodedValue",
    "narrative_result": "String",
    "notes": "String",
    "quantitative_result": "QuantitativeResult",
    "collected_at": "Date",
    "collected_by_org": "Organization",
    "collected_by_name": "Name",
    "collected_by_role": "String"
}

As a Django Model Class:

from indivo.models import Fact
from django.db import models
from indivo.fields import CodedValueField, QuantitativeResultField, OrganizationField, NameField

class LabResult(Fact):
    abnormal_interpretation = CodedValueField()
    accession_number = models.CharField(max_length=255, null=True)
    test_name = CodedValueField()
    status = CodedValueField()
    narrative_result = models.CharField(max_length=255, null=True)
    notes = models.CharField(max_length=600, null=True)
    quantitative_result = QuantitativeResultField()
    collected_at = models.DateTimeField(null=True)
    collected_by_org = OrganizationField()
    collected_by_name = NameField()
    collected_by_role = models.CharField(max_length=255, null=True)

Examples

As SDMJ:

{
    "__modelname__": "LabResult",
    "abnormal_interpretation_title": "Normal",
    "abnormal_interpretation_system": "http"://smartplatforms.org/terms/codes/LabResultInterpretation#",
    "abnormal_interpretation_identifier": "normal",

    "accession_number": "AC09205823577",

    "test_name_title": "Serum Sodium",
    "test_name_system": "http"://purl.bioontology.org/ontology/LNC/",
    "test_name_identifier": "2951-2",

    "status_title": "Final results": complete and verified",
    "status_system": "http"://smartplatforms.org/terms/codes/LabStatus#",
    "status_identifier": "final",

    "notes": "Blood sample appears to have hemolyzed",

    "quantitative_result_non_critical_range_max_value": "155",
    "quantitative_result_non_critical_range_max_unit": "mEq/L",
    "quantitative_result_non_critical_range_min_value": "120",
    "quantitative_result_non_critical_range_min_unit": "mEq/L",

    "quantitative_result_normal_range_max_value": "145",
    "quantitative_result_normal_range_max_unit": "mEq/L",
    "quantitative_result_normal_range_min_value": "135",
    "quantitative_result_normal_range_min_unit": "mEq/L",

    "quantitative_result_value_value": "140", 
    "quantitative_result_value_unit": "mEq/L",

    "collected_at": "2010-12-27T17":00":00Z", 

    "collected_by_org_name": "City Lab",
    "collected_by_org_adr_country": "USA",
    "collected_by_org_adr_city": "Springfield",
    "collected_by_org_adr_postalcode": "11111",
    "collected_by_org_adr_region": "MA",
    "collected_by_org_adr_street": "20 Elm St",

    "collected_by_name_family": "Finnialispi",
    "collected_by_name_given": "Tad",

    "collected_by_role": "Lab Specialist"
}

As SDMX:

<Models>
  <Model name="LabResult">
    <Field name="abnormal_interpretation_title">Normal</Field>
    <Field name="abnormal_interpretation_system">http://smartplatforms.org/terms/codes/LabResultInterpretation#</Field>
    <Field name="abnormal_interpretation_identifier">normal</Field>

    <Field name="accession_number">AC09205823577</Field>

    <Field name="test_name_title">Serum Sodium</Field>
    <Field name="test_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
    <Field name="test_name_identifier">2951-2</Field>

    <Field name="status_title">Final results: complete and verified</Field>
    <Field name="status_system">http://smartplatforms.org/terms/codes/LabStatus#</Field>
    <Field name="status_identifier">final</Field>

    <Field name="notes">Blood sample appears to have hemolyzed</Field>

    <Field name="quantitative_result_non_critical_range_max_value">155</Field>
    <Field name="quantitative_result_non_critical_range_max_unit">mEq/L</Field>
    <Field name="quantitative_result_non_critical_range_min_value">120</Field>
    <Field name="quantitative_result_non_critical_range_min_unit">mEq/L</Field>

    <Field name="quantitative_result_normal_range_max_value">145</Field>
    <Field name="quantitative_result_normal_range_max_unit">mEq/L</Field>
    <Field name="quantitative_result_normal_range_min_value">135</Field>
    <Field name="quantitative_result_normal_range_min_unit">mEq/L</Field>

    <Field name="quantitative_result_value_value">140</Field> 
    <Field name="quantitative_result_value_unit">mEq/L</Field>

    <Field name="collected_at">2010-12-27T17:00:00Z</Field>

    <Field name="collected_by_org_name">City Lab</Field>
    <Field name="collected_by_org_adr_country">USA</Field>
    <Field name="collected_by_org_adr_city">Springfield</Field>
    <Field name="collected_by_org_adr_postalcode">11111</Field>
    <Field name="collected_by_org_adr_region">MA</Field>
    <Field name="collected_by_org_adr_street">20 Elm St</Field>

    <Field name="collected_by_name_family">Finnialispi</Field>
    <Field name="collected_by_name_given">Tad</Field>

    <Field name="collected_by_role">Lab Specialist</Field>
  </Model>
</Models>

As a Fact object:

from indivo.models import LabResult
from indivo.lib.iso8601 import parse_utc_date as date

lab_fact = LabResult(
    abnormal_interpretation_title="Normal",
    abnormal_interpretation_system="http://smartplatforms.org/terms/codes/LabResultInterpretation#",
    abnormal_interpretation_identifier="normal",

    accession_number="AC09205823577",

    test_name_title="Serum Sodium",
    test_name_system="http://purl.bioontology.org/ontology/LNC/",
    test_name_identifier="2951-2",

    status_title="Final results: complete and verified",
    status_system="http://smartplatforms.org/terms/codes/LabStatus#",
    status_identifier="final",

    notes="Blood sample appears to have hemolyzed",

    quantitative_result_non_critical_range_max_value="155",
    quantitative_result_non_critical_range_max_unit="mEq/L",
    quantitative_result_non_critical_range_min_value="120",
    quantitative_result_non_critical_range_min_unit="mEq/L",

    quantitative_result_normal_range_max_value="145",
    quantitative_result_normal_range_max_unit="mEq/L",
    quantitative_result_normal_range_min_value="135",
    quantitative_result_normal_range_min_unit="mEq/L",

    quantitative_result_value_value="140", 
    quantitative_result_value_unit="mEq/L",

    collected_at=date("2010-12-27T17:00:00Z"), 

    collected_by_org_name="City Lab",
    collected_by_org_adr_country="USA",
    collected_by_org_adr_city="Springfield",
    collected_by_org_adr_postalcode="11111",
    collected_by_org_adr_region="MA",
    collected_by_org_adr_street="20 Elm St",

    collected_by_name_family="Finnialispi",
    collected_by_name_given="Tad",

    collected_by_role="Lab Specialist",
    )

Project Versions

Table Of Contents

Previous topic

Indivo Data Model: Immunization

Next topic

Indivo Data Model: Medication

This Page