Merge pull request #951 from jamesagnew/bpCheckValFix
bpCheck observation.performer 0..1 fix
This commit is contained in:
commit
1613928ee8
|
@ -3,10 +3,7 @@ package ca.uhn.fhir.parser;
|
|||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.util.TestUtil;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.hl7.fhir.r4.model.Bundle;
|
||||
import org.hl7.fhir.r4.model.Observation;
|
||||
import org.hl7.fhir.r4.model.Patient;
|
||||
import org.hl7.fhir.r4.model.Reference;
|
||||
import org.hl7.fhir.r4.model.*;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
|
|
|
@ -3621,7 +3621,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
|
|||
// all observations should have a subject, a performer, and a time
|
||||
|
||||
bpCheck(errors, IssueType.INVALID, element.line(), element.col(), stack.getLiteralPath(), element.getNamedChild("subject") != null, "All observations should have a subject");
|
||||
bpCheck(errors, IssueType.INVALID, element.line(), element.col(), stack.getLiteralPath(), element.getNamedChild("performer") != null, "All observations should have a performer");
|
||||
List<Element> performer = new ArrayList();element.getNamedChildren("performer", performer);
|
||||
bpCheck(errors, IssueType.INVALID, element.line(), element.col(), stack.getLiteralPath(), !performer.isEmpty(), "All observations should have a performer");
|
||||
bpCheck(errors, IssueType.INVALID, element.line(), element.col(), stack.getLiteralPath(), element.getNamedChild("effectiveDateTime") != null || element.getNamedChild("effectivePeriod") != null,
|
||||
"All observations should have an effectiveDateTime or an effectivePeriod");
|
||||
}
|
||||
|
|
|
@ -192,7 +192,6 @@ public class FhirInstanceValidatorR4Test {
|
|||
|
||||
retVal.add(next);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
@ -1041,6 +1040,24 @@ public class FhirInstanceValidatorR4Test {
|
|||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMultiplePerformer() {
|
||||
Observation o = new Observation();
|
||||
Practitioner p1 = new Practitioner();
|
||||
Practitioner p2 = new Practitioner();
|
||||
|
||||
o.addPerformer(new Reference(p1));
|
||||
o.addPerformer(new Reference(p2));
|
||||
|
||||
ValidationResult output = myVal.validateWithResult(o);
|
||||
List<SingleValidationMessage> valMessages = logResultsAndReturnAll(output);
|
||||
List<String> messages = new ArrayList<>();
|
||||
for (String msg : messages) {
|
||||
messages.add(msg);
|
||||
}
|
||||
assertThat(messages, not(hasItem("All observations should have a performer")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateResourceWithValuesetExpansionGood() {
|
||||
Patient patient = new Patient();
|
||||
|
|
Loading…
Reference in New Issue