See the HealthVault Data Type Wiki for current information on using this type.

This document contains general guidelines for using the Pregnancy data type. It does not cover all the information that is stored in the type – see the Pregnancy member documentation for more information.

The Pregnancy data type stores details about a pregnancy, from conception through labor and delivery.

Initially, the Pregnancy instance will likely contain only a few details, such as the estimated due date for the pregnancy. More information may be added as the pregnancy progresses, and when there is a resolution to the pregnancy, a delivery instance is added for each of the fetuses.

The delivery information may contain a Baby instance containing information about the baby. The information stored in the Baby instance may be copied to a new health record for the child when such a record is created.

The pregnancy instance is not intended to store information pertaining to the mother’s health during the pregnancy. If the mother has (for example) gestational diabetes during her pregnancy, that would be stored in a condition in her health record.

The following is an example of the pregnancy record that would be created for the birth of twins…

Pregnancy pregnancy = new Pregnancy();

    // information that may be available early in the pregnancy
pregnancy.DueDate = new ApproximateDate(2008, 10, 31);
pregnancy.LastMenstrualPeriod = new HealthServiceDate(2008, 1, 25);
pregnancy.ConceptionMethod = new CodableValue("Artificial insemination: In vitro fertilization (IVF)",
                                new CodedValue("InVitroFertilization", "conception-methods", "wc", "1"));
pregnancy.FetusCount = 2;

    // information available at time of delivery...
pregnancy.GestationalAge = 37;

Delivery delivery1 = new Delivery();
delivery1.Location = new Organization("General Hospital");
delivery1.TimeOfDelivery = new ApproximateDateTime(new ApproximateDate(2008, 11, 1), new ApproximateTime(00, 15, 35));
delivery1.LaborDuration = 123;
delivery1.Anesthesia.Add(new CodableValue("Epidural analgesia", new CodedValue("EpiduralAnalgesia", "anesthesia-methods", "wc", "1")));

delivery1.DeliveryMethod = new CodableValue("Caesarean section", new CodedValue("CSection", "delivery-methods", "wc", "1"));
delivery1.Outcome = new CodableValue("Live birth", new CodedValue("LiveBirth", "pregnancy-outcomes", "wc", "1"));

delivery1.Baby = new Baby();
delivery1.Baby.Name = new Name("Thomas John Andersen");
delivery1.Baby.Gender = new CodableValue("Male", new CodedValue("male", "gender-types", "wc", "1"));
delivery1.Baby.Weight = new WeightValue(2.5, new DisplayValue(5.5, "pounds"));
delivery1.Baby.Length = new Length(0.46, new DisplayValue(18, "inches"));
delivery1.Baby.HeadCircumference = new Length(0.31, new DisplayValue(12.4, "inches"));


Delivery delivery2 = new Delivery();
delivery2.Location = new Organization("General Hospital");
delivery2.TimeOfDelivery = new ApproximateDateTime(new ApproximateDate(2008, 11, 1), new ApproximateTime(01, 20, 52));
delivery2.LaborDuration = 198;
delivery2.Anesthesia.Add(new CodableValue("Epidural analgesia", new CodedValue("EpiduralAnalgesia", "anesthesia-methods", "wc", "1")));

delivery2.DeliveryMethod = new CodableValue("Caesarean section", new CodedValue("CSection", "delivery-methods", "wc", "1"));
delivery2.Outcome = new CodableValue("Live birth", new CodedValue("LiveBirth", "pregnancy-outcomes", "wc", "1"));

delivery2.Baby = new Baby();
delivery2.Baby.Name = new Name("Elizabeth Marie Andersen");
delivery2.Baby.Gender = new CodableValue("Female", new CodedValue("female", "gender-types", "wc", "1"));
delivery2.Baby.Weight = new WeightValue(2.4, new DisplayValue(5.3, "pounds"));
delivery2.Baby.Length = new Length(0.44, new DisplayValue(17.5, "inches"));
delivery2.Baby.HeadCircumference = new Length(0.32, new DisplayValue(12.6, "inches"));