| shouldSaveUpdateDeleteVoidObsGroupCascades() |  | 0% |  | 0% | 12 | 12 | 148 | 148 | 1 | 1 |
| getObservations_shouldCompareDatesUsingLteAndGte() |  | 0% | | n/a | 1 | 1 | 28 | 28 | 1 | 1 |
| saveObs_shouldAllowChangingOfEveryPropertyOnObs() |  | 0% | | n/a | 1 | 1 | 44 | 44 | 1 | 1 |
| saveObs_shouldNotOverwriteFileWhenUpdatingAComplexObs() |  | 0% |  | 0% | 3 | 3 | 37 | 37 | 1 | 1 |
| getComplexObs_shouldFillInComplexDataObjectForComplexObs() |  | 0% |  | 0% | 12 | 12 | 34 | 34 | 1 | 1 |
| getComplexObs_shouldNotFailWithNullView() |  | 0% |  | 0% | 12 | 12 | 30 | 30 | 1 | 1 |
| getObservationCount_shouldIncludeVoidedObservationsUsingTheSpecifiedConceptNamesAsAnswers() |  | 0% | | n/a | 1 | 1 | 25 | 25 | 1 | 1 |
| getObservationCount_shouldReturnTheCountOfAllObservationsUsingTheSpecifiedConceptNamesAsAnswers() |  | 0% | | n/a | 1 | 1 | 24 | 24 | 1 | 1 |
| saveObs_shouldCreateNewFileFromComplexDataForNewObs() |  | 0% |  | 0% | 2 | 2 | 21 | 21 | 1 | 1 |
| saveObs_shouldCascadeSaveToChildObsGroups() |  | 0% | | n/a | 1 | 1 | 16 | 16 | 1 | 1 |
| saveObs_shouldCascadeUpdateToNewChildObsGroups() |  | 0% | | n/a | 1 | 1 | 16 | 16 | 1 | 1 |
| getObservations_shouldGetAllObsWithAnswerConceptInGivenAnswersParameter() |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| getObservations_shouldSortReturnedObsByConceptIdIfSortIsConcept() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| saveObs_shouldCreateVeryBasicObsAndAddNewObsId() |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| saveObs_shouldSetCreatorAndDateCreatedOnNewObs() |  | 0% | | n/a | 1 | 1 | 11 | 11 | 1 | 1 |
| setHandlers_shouldAddNewHandlersWithNewKeys() |  | 0% | | n/a | 1 | 1 | 13 | 13 | 1 | 1 |
| getObservations_shouldIncludeVoidedObsIfIncludeVoidedObsIsTrue() |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| getObservationsByPersonAndConcept_shouldGetObservationsMatchingPersonAndQuestion() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| getObservations_shouldSortReturnedObsByObsDatetimeIfSortIsEmpty() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| setHandlers_shouldOverrideHandlersWithSameKey() |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| shouldGetObservationsOnDay() |  | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 |
| getObservations_shouldNotIncludeVoidedObs() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| getObservationsByPerson_shouldGetAllObservationsAssignedToGivenPerson() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservations_shouldGetObsMatchingPatientIdentifierInSearchString() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| getObservations_shouldLimitNumberOfObsReturnedToMostReturnNParameter() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| saveObs_shouldLinkOriginalAndUpdatedObs() |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| unvoidObs_shouldCascadeUnvoidToChildGroupedObs() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| getObservationCount_shouldGetCountOfObsWithAnswerConceptInGivenAnswersParameter() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldIncludeVoidedObsInTheCountIfIncludeVoidedObsIsTrue() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldNotIncludeVoidedObsInCount() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldReturnZeroIfNoObservationIsUsingAnyOfTheConcepNamesInTheList() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| saveObs_shouldSetVoidReasonMessageToChangeMessage() |  | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 |
| getObservations_shouldGetAllObsAssignedToGivenEncounters() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservations_shouldGetAllObsWithQuestionConceptInGivenQuestionsParameter() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservations_shouldReturnObsWithLocationInGivenLocationsParameter() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservations_shouldReturnObsWhoseGroupIdIsGivenObsGroupId() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservations_shouldReturnObsWhosePersonIsAPatientOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservations_shouldReturnAllObsWhosePersonIsAPersonOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservations_shouldReturnObsWhosePersonIsAUserOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldGetCountOfObsAssignedToGivenEncounters() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservationCount_shouldGetCountOfObsWithQuestionConceptInGivenQuestionsParameter() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservationCount_shouldReturnCountOfObsWithLocationInGivenLocationsParameter() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservationCount_shouldReturnCountOfObsWhoseGroupIdIsGivenObsGroupId() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldReturnCountOfObsWhosePersonIsAPatientOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldReturnCountOfAllObsWhosePersonIsAPersonOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservationCount_shouldReturnCountOfObsWhosePersonIsAUserOnly() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| saveObs_shouldVoidTheGivenObsInTheDatabase() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| removeHandler_shouldRemoveHandlerWithMatchingKey() |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| saveObs_shouldReturnADifferentObjectWhenUpdatingAnObs() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getObservations_shouldGetObsMatchingEncounterIdInSearchString() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservations_shouldGetObsMatchingObsIdInSearchString() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| voidObs_shouldSetVoidedBitOnGivenObs() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| purgeObs_shouldDeleteTheGivenObsFromTheDatabase() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| unvoidObs_shouldUnsetVoidedBitOnGivenObs() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getComplexObs_shouldReturnNormalObsForNonComplexObs() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getHandler_shouldHaveDefaultImageAndTextHandlersRegisteredBySpring() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| registerHandler_shouldRegisterHandlerWithTheGivenKey() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObs_shouldGetObsMatchingGivenObsId() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| registerHandler_shouldLoadHandlerAndRegisterKey() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| voidObs_shouldFailIfReasonParameterIsEmpty() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getHandler_shouldGetHandlerWithMatchingKey() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getObservationsByPersonAndConcept_shouldNotFailWithNullPersonParameter() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getHandlers_shouldNeverReturnNull() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| purgeObs_shouldThrowAPIExceptionIfGivenTrueCascade() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeHandler_shouldNotFailWithInvalidKey() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| ObsServiceTest() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |