As SDML:
{ "__modelname__": "VitalSigns", "date": "Date", "encounter": { "__modelname__": "Encounter", "startDate": "Date", "endDate": "Date", "facility": "Organization", "provider": "Provider", "encounterType": "CodedValue" }, "bp": "BloodPressure", "bmi": "VitalSign", "heart_rate": "VitalSign", "height": "VitalSign", "oxygen_saturation": "VitalSign", "respiratory_rate": "VitalSign", "temperature": "VitalSign", "weight": "VitalSign" }
As a Django Model Class:
from indivo.models import Fact
from django.db import models
from indivo.fields import BloodPressureField, VitalSignField, CodedValueField, OrganizationField, ProviderField
class VitalSigns(Fact):
date = models.DateTimeField(null=True)
encounter = models.ForeignKey('Encounter', null=True)
bp = BloodPressureField()
bmi = VitalSignField()
heart_rate = VitalSignField()
height = VitalSignField()
oxygen_saturation = VitalSignField()
respiratory_rate = VitalSignField()
temperature = VitalSignField()
weight = VitalSignField()
class Encounter(Fact):
startDate = models.DateTimeField(null=True)
endDate = models.DateTimeField(null=True)
facility = OrganizationField()
provider = ProviderField()
encounterType = CodedValueField()
As SDMJ:
{
"__modelname__": "VitalSigns"
"date": "2009-05-16T12:00:00Z",
"encounter": {
"__modelname__": "Encounter",
"startDate": "2009-05-16T12:00:00Z",
"endDate": "2009-05-16T16:00:00Z",
"facility_name": "Wonder Hospital",
"facility_adr_country": "Australia",
"facility_adr_city": "WonderCity",
"facility_adr_postalcode": "5555",
"facility_adr_street": "111 Lake Drive",
"provider_dea_number": "325555555",
"provider_npi_number": "5235235",
"provider_email": "joshua.mandel@fake.emailserver.com",
"provider_name_given": "Josuha",
"provider_name_family": "Mandel",
"provider_tel_1_type": "w",
"provider_tel_1_number": "1-235-947-3452",
"provider_tel_1_preferred_p": true,
"encounterType_title": "Ambulatory encounter",
"encounterType_system": "http://smartplatforms.org/terms/codes/EncounterType#",
"encounterType_identifier": "ambulatory"
},
"bp_position_title": "Sitting",
"bp_position_identifier": "33586001",
"bp_position_system": "http://purl.bioontology.org/ontology/SNOMEDCT/",
"bp_site_title": "Right arm",
"bp_site_identifier": "368209003",
"bp_site_system": "http://purl.bioontology.org/ontology/SNOMEDCT/",
"bp_method_title": "Auscultation",
"bp_method_identifier": "auscultation",
"bp_method_system": "http://smartplatforms.org/terms/codes/BloodPressureMethod#",
"bp_diastolic_unit": "mm[Hg]",
"bp_diastolic_value": 82,
"bp_diastolic_name_title": "Intravascular diastolic",
"bp_diastolic_name_identifier": "8462-4",
"bp_diastolic_name_system": "http://purl.bioontology.org/ontology/LNC/",
"bp_systolic_unit": "mm[Hg]",
"bp_systolic_value": 132,
"bp_systolic_name_title": "Intravascular systolic",
"bp_systolic_name_identifier": "8480-6",
"bp_systolic_name_system": "http://purl.bioontology.org/ontology/LNC/",
"bmi_unit": "kg/m2",
"bmi_value": 21.8,
"bmi_name_title": "Body mass index",
"bmi_name_system": "http://purl.bioontology.org/ontology/LNC/",
"bmi_name_identifier": "39156-5",
"heart_rate_unit": "{beats}/min",
"heart_rate_value": 70,
"heart_rate_name_title": "Heart rate",
"heart_rate_name_system": "http://purl.bioontology.org/ontology/LNC/",
"heart_rate_name_identifier": "8867-4",
"height_unit": "m",
"height_value": 1.8,
"height_name_title": "Body height",
"height_name_system": "http://purl.bioontology.org/ontology/LNC/",
"height_name_identifier": "8302-2",
"oxygen_saturation_unit": "%{HemoglobinSaturation}",
"oxygen_saturation_value": 99,
"oxygen_saturation_name_title": "Oxygen saturation",
"oxygen_saturation_name_system": "http://purl.bioontology.org/ontology/LNC/",
"oxygen_saturation_name_identifier": "2710-2",
"respiratory_rate_unit": "{breaths}/min",
"respiratory_rate_value": 16,
"respiratory_rate_name_title": "Respiration rate",
"respiratory_rate_name_system": "http://purl.bioontology.org/ontology/LNC/",
"respiratory_rate_name_identifier": "9279-1",
"temperature_unit": "Cel",
"temperature_value": 37,
"temperature_name_title": "Body temperature",
"temperature_name_system": "http://purl.bioontology.org/ontology/LNC/",
"temperature_name_identifier": "8310-5",
"weight_unit": "kg",
"weight_value": 70.8,
"weight_name_title": "Body weight",
"weight_name_system": "http://purl.bioontology.org/ontology/LNC/",
"weight_name_identifier": "3141-9"
}
As SDMX:
<Models>
<Model name="VitalSigns">
<Field name="date">2009-05-16T12:00:00Z</Field>
<Field name="encounter">
<Model name="Encounter">
<Field name="startDate">2009-05-16T12:00:00Z</Field>
<Field name="endDate">2009-05-16T16:00:00Z</Field>
<Field name="facility_name">Wonder Hospital</Field>
<Field name="facility_adr_country">Australia</Field>
<Field name="facility_adr_city">WonderCity</Field>
<Field name="facility_adr_postalcode">5555</Field>
<Field name="facility_adr_street">111 Lake Drive</Field>
<Field name="provider_dea_number">325555555</Field>
<Field name="provider_npi_number">5235235</Field>
<Field name="provider_email">joshua.mandel@fake.emailserver.com</Field>
<Field name="provider_name_given">Josuha</Field>
<Field name="provider_name_family">Mandel</Field>
<Field name="provider_tel_1_type">w</Field>
<Field name="provider_tel_1_number">1-235-947-3452</Field>
<Field name="provider_tel_1_preferred_p">true</Field>
<Field name="encounterType_title">Ambulatory encounter</Field>
<Field name="encounterType_system">http://smartplatforms.org/terms/codes/EncounterType#</Field>
<Field name="encounterType_identifier">ambulatory</Field>
</Model>
</Field>
<Field name="bp_position_title">Sitting</Field>
<Field name="bp_position_identifier">33586001</Field>
<Field name="bp_position_system">http://purl.bioontology.org/ontology/SNOMEDCT/</Field>
<Field name="bp_site_title">Right arm</Field>
<Field name="bp_site_identifier">368209003</Field>
<Field name="bp_site_system">http://purl.bioontology.org/ontology/SNOMEDCT/</Field>
<Field name="bp_method_title">Auscultation</Field>
<Field name="bp_method_identifier">auscultation</Field>
<Field name="bp_method_system">http://smartplatforms.org/terms/codes/BloodPressureMethod#</Field>
<Field name="bp_diastolic_unit">mm[Hg]</Field>
<Field name="bp_diastolic_value">82</Field>
<Field name="bp_diastolic_name_title">Intravascular diastolic</Field>
<Field name="bp_diastolic_name_identifier">8462-4</Field>
<Field name="bp_diastolic_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="bp_systolic_unit">mm[Hg]</Field>
<Field name="bp_systolic_value">132</Field>
<Field name="bp_systolic_name_title">Intravascular systolic</Field>
<Field name="bp_systolic_name_identifier">8480-6</Field>
<Field name="bp_systolic_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="bmi_unit">kg/m2</Field>
<Field name="bmi_value">21.8</Field>
<Field name="bmi_name_title">Body mass index</Field>
<Field name="bmi_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="bmi_name_identifier">39156-5</Field>
<Field name="heart_rate_unit">{beats}/min</Field>
<Field name="heart_rate_value">70</Field>
<Field name="heart_rate_name_title">Heart rate</Field>
<Field name="heart_rate_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="heart_rate_name_identifier">8867-4</Field>
<Field name="height_unit">m</Field>
<Field name="height_value">1.8</Field>
<Field name="height_name_title">Body height</Field>
<Field name="height_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="height_name_identifier">8302-2</Field>
<Field name="oxygen_saturation_unit">%{HemoglobinSaturation}</Field>
<Field name="oxygen_saturation_value">99</Field>
<Field name="oxygen_saturation_name_title">Oxygen saturation</Field>
<Field name="oxygen_saturation_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="oxygen_saturation_name_identifier">2710-2</Field>
<Field name="respiratory_rate_unit">{breaths}/min</Field>
<Field name="respiratory_rate_value">16</Field>
<Field name="respiratory_rate_name_title">Respiration rate</Field>
<Field name="respiratory_rate_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="respiratory_rate_name_identifier">9279-1</Field>
<Field name="temperature_unit">Cel</Field>
<Field name="temperature_value">37</Field>
<Field name="temperature_name_title">Body temperature</Field>
<Field name="temperature_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="temperature_name_identifier">8310-5</Field>
<Field name="weight_unit">kg</Field>
<Field name="weight_value">70.8</Field>
<Field name="weight_name_title">Body weight</Field>
<Field name="weight_name_system">http://purl.bioontology.org/ontology/LNC/</Field>
<Field name="weight_name_identifier">3141-9</Field>
</Model>
</Models>
As a Fact object:
from indivo.models import Encounter, VitalSigns
from indivo.lib.iso8601 import parse_utc_date as date
encounter_fact = Encounter(
startDate=date("2009-05-16T12:00:00Z"),
endDate=date("2009-05-16T16:00:00Z"),
facility_name="Wonder Hospital",
facility_adr_country="Australia",
facility_adr_city="WonderCity",
facility_adr_postalcode="5555",
facility_adr_street="111 Lake Drive",
provider_dea_number="325555555",
provider_npi_number="5235235",
provider_email="joshua.mandel@fake.emailserver.com",
provider_name_given="Josuha",
provider_name_family="Mandel",
provider_tel_1_type="w",
provider_tel_1_number="1-235-947-3452",
provider_tel_1_preferred_p=True,
encounterType_title="Ambulatory encounter",
encounterType_system="http://smartplatforms.org/terms/codes/EncounterType#",
encounterType_identifier="ambulatory",
)
encounter_fact.save()
# NOTE: all vitals readings are OPTIONAL. You don't need
# to add all 56 fields here to create a VitalSigns object.
vitals_fact = VitalSigns(
date=date("2009-05-16T12:00:00Z"),
encounter=encounter_fact,
# Blood Pressure
bp_position_title="Sitting",
bp_position_identifier="33586001",
bp_position_system="http://purl.bioontology.org/ontology/SNOMEDCT/",
bp_site_title="Right arm",
bp_site_identifier="368209003",
bp_site_system="http://purl.bioontology.org/ontology/SNOMEDCT/",
bp_method_title="Auscultation",
bp_method_identifier="auscultation",
bp_method_system="http://smartplatforms.org/terms/codes/BloodPressureMethod#",
bp_diastolic_unit="mm[Hg]",
bp_diastolic_value=82,
bp_diastolic_name_title="Intravascular diastolic",
bp_diastolic_name_identifier="8462-4",
bp_diastolic_name_system="http://purl.bioontology.org/ontology/LNC/",
bp_systolic_unit="mm[Hg]",
bp_systolic_value=132,
bp_systolic_name_title="Intravascular systolic",
bp_systolic_name_identifier="8480-6",
bp_systolic_name_system="http://purl.bioontology.org/ontology/LNC/",
# Body Mass Index
bmi_unit="kg/m2",
bmi_value=21.8,
bmi_name_title="Body mass index",
bmi_name_system="http://purl.bioontology.org/ontology/LNC/",
bmi_name_identifier="39156-5",
# Heart Rate
heart_rate_unit="{beats}/min",
heart_rate_value=70,
heart_rate_name_title="Heart rate",
heart_rate_name_system="http://purl.bioontology.org/ontology/LNC/",
heart_rate_name_identifier="8867-4",
# Height
height_unit="m",
height_value=1.8,
height_name_title="Body height",
height_name_system="http://purl.bioontology.org/ontology/LNC/",
height_name_identifier="8302-2",
# Oxygen Saturation
oxygen_saturation_unit="%{HemoglobinSaturation}",
oxygen_saturation_value=99,
oxygen_saturation_name_title="Oxygen saturation",
oxygen_saturation_name_system="http://purl.bioontology.org/ontology/LNC/",
oxygen_saturation_name_identifier="2710-2",
# Respiratory Rate
respiratory_rate_unit="{breaths}/min",
respiratory_rate_value=16,
respiratory_rate_name_title="Respiration rate",
respiratory_rate_name_system="http://purl.bioontology.org/ontology/LNC/",
respiratory_rate_name_identifier="9279-1",
# Temperature
temperature_unit="Cel",
temperature_value=37,
temperature_name_title="Body temperature",
temperature_name_system="http://purl.bioontology.org/ontology/LNC/",
temperature_name_identifier="8310-5",
# Weight
weight_unit="kg",
weight_value=70.8,
weight_name_title="Body weight",
weight_name_system="http://purl.bioontology.org/ontology/LNC/",
weight_name_identifier="3141-9",
)