public void WhenMedicationRequestTransformedToHealthVault_ThenDosageInstructionIsCopiedToInstructions() { MedicationRequest medicationRequest = GetSampleRequest(); var dosage = new Dosage(); medicationRequest.DosageInstruction = new System.Collections.Generic.List <Dosage> { dosage }; var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsNull(hvMedication.Prescription?.Instructions); var dosageInstructions = new CodeableConcept { Text = "3 tablets/day, have it after dinner." }; dosage.AdditionalInstruction = new System.Collections.Generic.List <CodeableConcept> { dosageInstructions }; hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsNotNull(hvMedication.Prescription?.Instructions); }
public void WhenMedicationRequestTransformedToHealthVault_ThenPractitionerIsCopiedToPrescription() { MedicationRequest medicationRequest = GetSampleRequest(); var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsNotNull(hvMedication.Prescription.PrescribedBy); }
public void WhenMedicationRequestTransformedToHealthVault_ThenAuthoredOnIsCopiedToDatePrescribed() { var prescribedOn = new LocalDate(2017, 08, 10); MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.AuthoredOnElement = new FhirDateTime(prescribedOn.ToDateTimeUnspecified()); var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsTrue(hvMedication.Prescription?.DatePrescribed.ApproximateDate.CompareTo(prescribedOn) == 0); }
public void WhenMedicationRequestTransformedToHealthVault_ThenNumberOfRepeatsAllowedIsCopiedToRefills() { MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.DispenseRequest = new MedicationRequest.DispenseRequestComponent(); var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsNull(hvMedication.Prescription?.Refills); const int refillsAllowed = 3; medicationRequest.DispenseRequest = new MedicationRequest.DispenseRequestComponent { NumberOfRepeatsAllowed = refillsAllowed }; hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.AreEqual(refillsAllowed, hvMedication.Prescription.Refills); }
public void WhenMedicationRequestTransformedToHealthVault_ThenPractitionerIsRequired() { var medicationRequest = new MedicationRequest { Medication = new CodeableConcept { Text = "Amoxicillin 250mg/5ml Suspension" }, }; Assert.ThrowsException <NotSupportedException>(() => medicationRequest.ToHealthVault()); }
public void WhenMedicationRequestTransformedToHealthVault_ThenSubstitutionIsCopiedToSubstitution() { MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.Substitution = new MedicationRequest.SubstitutionComponent { Allowed = true }; var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.AreEqual(HealthVaultMedicationSubstitutionCodes.SubstitutionPermittedCode , hvMedication.Prescription?.Substitution.First().Value); }
public void WhenMedicationRequestTransformedToHealthVault_ThenDispenseRequestQuantityIsCopiedToAmountPrescribed() { const int amountPrescribed = 15; MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.DispenseRequest = new MedicationRequest.DispenseRequestComponent { Quantity = new Quantity(amountPrescribed, "tablets").CopyTo(new SimpleQuantity()) as SimpleQuantity }; var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.AreEqual(amountPrescribed, hvMedication.Prescription?.AmountPrescribed?.Structured.First()?.Value); }
public void WhenMedicationRequestTransformedToHealthVault_ThenExpectedSupplyDurationIsCopiedToDaysSupply() { var daysSupply = 12; MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.DispenseRequest = new MedicationRequest.DispenseRequestComponent { ExpectedSupplyDuration = new Quantity(daysSupply, "day") .CopyTo(new Hl7.Fhir.Model.Duration()) as Hl7.Fhir.Model.Duration }; var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.AreEqual(daysSupply, hvMedication.Prescription?.DaysSupply); medicationRequest.DispenseRequest.ExpectedSupplyDuration = new Quantity(1, "month") .CopyTo(new Hl7.Fhir.Model.Duration()) as Hl7.Fhir.Model.Duration; hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.AreEqual(30, hvMedication.Prescription?.DaysSupply); }
public void WhenMedicationRequestTransformedToHealthVault_ThenValidityPeriodEndIsCopiedToPrescriptionExpiration() { var expiration = new LocalDate(2017, 12, 12); MedicationRequest medicationRequest = GetSampleRequest(); medicationRequest.DispenseRequest = new MedicationRequest.DispenseRequestComponent { ValidityPeriod = new Hl7.Fhir.Model.Period { EndElement = new FhirDateTime(expiration.ToDateTimeUnspecified()) } }; var hvMedication = medicationRequest.ToHealthVault() as HVMedication; Assert.IsTrue(hvMedication.Prescription?.PrescriptionExpiration.CompareTo(expiration) == 0); }