Indivo Data Model: Problem¶
Model Definition¶
As a Django Model Class:
from indivo.models import Fact
from indivo.fields import CodedValueField
from django.db import models
class Problem(Fact):
startDate = models.DateTimeField(null=True)
endDate = models.DateTimeField(null=True)
name = CodedValueField()
notes = models.TextField(null=True)
encounters = models.ManyToManyField('Encounter', null=True)
Examples¶
As SDMJ:
{
"__modelname__": "Problem",
"startDate": "2009-05-16T12:00:00Z",
"endDate": "2009-05-16T16:00:00Z",
"name_title": "Backache (finding)",
"name_code_title": "Backache (finding)",
"name_code_system": "http://purl.bioontology.org/ontology/SNOMEDCT/",
"name_code_identifier": "161891005"
}
As SDMX:
<Models xmlns="http://indivo.org/vocab/xml/documents#"> <Model name="Problem"> <Field name="startDate">2009-05-16T12:00:00Z</Field> <Field name="endDate">2009-05-16T16:00:00Z</Field> <Field name="name_title">Backache (Finding)</Field> <Field name="name_code_title">Backache (Finding)</Field> <Field name="name_code_system">http://purl.bioontology.org/ontology/SNOMEDCT/</Field> <Field name="name_code_identifier">161891005</Field> <Field name="encounters"> <Models> <Model name="Encounter"> <Field name="startDate">2010-02-16T12:00:00Z</Field> <Field name="endDate">2010-02-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="type_code_title">Ambulatory encounter</Field> <Field name="type_code_system">http://smartplatforms.org/terms/codes/EncounterType#</Field> <Field name="type_code_identifier">ambulatory</Field> </Model> <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="type_code_title">Ambulatory encounter</Field> <Field name="type_code_system">http://smartplatforms.org/terms/codes/EncounterType#</Field> <Field name="type_code_identifier">ambulatory</Field> </Model> </Models> </Field> </Model> </Models>
As a Fact object:
from indivo.models import Problem
from indivo.lib.iso8601 import parse_iso8601_datetime as date
problem_fact = Problem(
startDate=date("2009-05-16T12:00:00Z"),
endDate=date("2009-05-16T16:00:00Z"),
name_title="Backache (finding)",
name_code_title="Backache (finding)",
name_code_system="http://purl.bioontology.org/ontology/SNOMEDCT/",
name_code_identifier="161891005",
)