/** * Validates a resource instance, throwing a {@link ValidationFailureException} if the validation fails * * @param theResource * The resource to validate * @throws ValidationFailureException * If the validation fails * @deprecated use {@link #validateWithResult(IBaseResource)} instead */ @Deprecated public void validate(IResource theResource) throws ValidationFailureException { applyDefaultValidators(); ValidationResult validationResult = validateWithResult(theResource); if (!validationResult.isSuccessful()) { throw new ValidationFailureException(myContext, validationResult.toOperationOutcome()); } }
@SuppressWarnings("unused") private static void validateFiles() throws Exception { // START SNIPPET: validateFiles FhirContext ctx = FhirContext.forDstu3(); // Create a validator and configure it FhirValidator validator = ctx.newValidator(); validator.setValidateAgainstStandardSchema(true); validator.setValidateAgainstStandardSchematron(true); // Get a list of files in a given directory String[] fileList = new File("/home/some/dir").list(new WildcardFileFilter("*.txt")); for (String nextFile : fileList) { // For each file, load the contents into a string String nextFileContents = IOUtils.toString(new FileReader(nextFile)); // Parse that string (this example assumes JSON encoding) IBaseResource resource = ctx.newJsonParser().parseResource(nextFileContents); // Apply the validation. This will throw an exception on the first // validation failure ValidationResult result = validator.validateWithResult(resource); if (result.isSuccessful() == false) { throw new Exception("We failed!"); } } // END SNIPPET: validateFiles }
if (result.isSuccessful() == false) { ourLog.info("FAILED to validate example {} - {}", nextEntry.getName(), result.toString()); continue;
if (result.isSuccessful() == false) { ourLog.info("FAILED to validate example {} - {}", nextEntry.getName(), result.toString()); continue;
if (results.isSuccessful()) { ourLog.info("Validation successful!"); } else {
if (result.isSuccessful()) {
System.out.println(result.isSuccessful()); // false
if (result.isSuccessful()) { MethodOutcome retVal = new MethodOutcome(); retVal.setOperationOutcome(result.toOperationOutcome());
if (result.isSuccessful()) { MethodOutcome retVal = new MethodOutcome(); retVal.setOperationOutcome(result.toOperationOutcome());
if (result.isSuccessful()) { MethodOutcome retVal = new MethodOutcome(); retVal.setOperationOutcome(result.toOperationOutcome());
@Override protected void validateResourceForStorage(QuestionnaireResponse theResource, ResourceTable theEntityToSave) { super.validateResourceForStorage(theResource, theEntityToSave); if (!myValidateResponses) { return; } QuestionnaireResponse qa = theResource; if (qa == null || qa.getQuestionnaire() == null || qa.getQuestionnaire().getReference() == null || qa.getQuestionnaire().getReference().isEmpty()) { return; } FhirValidator val = myRefImplCtx.newValidator(); val.setValidateAgainstStandardSchema(false); val.setValidateAgainstStandardSchematron(false); FhirQuestionnaireResponseValidator module = new FhirQuestionnaireResponseValidator(); module.setResourceLoader(new JpaResourceLoader()); module.setWorkerContext(new HapiWorkerContext(myRefImplCtx, myValidationSupport)); val.registerValidatorModule(module); ValidationResult result = val.validateWithResult(myRefImplCtx.newJsonParser().parseResource(getContext().newJsonParser().encodeResourceToString(qa))); if (!result.isSuccessful()) { IBaseOperationOutcome oo = getContext().newJsonParser().parseResource(OperationOutcome.class, myRefImplCtx.newJsonParser().encodeResourceToString(result.toOperationOutcome())); throw new UnprocessableEntityException(getContext(), oo); } }
/** * Validates a resource instance, throwing a {@link ValidationFailureException} if the validation fails * * @param theResource * The resource to validate * @throws ValidationFailureException * If the validation fails * @deprecated use {@link #validateWithResult(IBaseResource)} instead */ @Deprecated public void validate(IResource theResource) throws ValidationFailureException { applyDefaultValidators(); ValidationResult validationResult = validateWithResult(theResource); if (!validationResult.isSuccessful()) { throw new ValidationFailureException(myContext, validationResult.toOperationOutcome()); } }
public static void main(String[] args) { String input = "<Encounter xmlns=\"http://hl7.org/fhir\"></Encounter>"; // Create a new validator FhirContext ctx = FhirContext.forDstu3(); FhirValidator validator = ctx.newValidator(); // Did we succeed? ValidationResult result = validator.validateWithResult(input); System.out.println("Success: " + result.isSuccessful()); // What was the result OperationOutcome outcome = (OperationOutcome) result.toOperationOutcome(); IParser parser = ctx.newXmlParser().setPrettyPrint(true); System.out.println(parser.encodeResourceToString(outcome)); } }
@Override public void validateRequest(FhirContext context, Object payload, Map<String, Object> parameters) { Bundle transactionBundle = (Bundle) payload; validateTransactionBundle(transactionBundle); validateBundleConsistency(transactionBundle); for (Bundle.BundleEntryComponent entry : transactionBundle.getEntry()) { Class<? extends IBaseResource> clazz = entry.getResource().getClass(); if (VALIDATORS.containsKey(clazz)) { FhirValidator validator = context.newValidator(); validator.registerValidatorModule(VALIDATORS.get(clazz)); ValidationResult validationResult = validator.validateWithResult(entry.getResource()); if (!validationResult.isSuccessful()) { IBaseOperationOutcome operationOutcome = validationResult.toOperationOutcome(); throw FhirUtils.exception(UnprocessableEntityException::new, operationOutcome, "Validation Failed"); } } } }
@Override public void validateRequest(FhirContext context, Object payload, Map<String, Object> parameters) { Bundle transactionBundle = (Bundle) payload; validateTransactionBundle(transactionBundle); validateBundleConsistency(transactionBundle); for (Bundle.BundleEntryComponent entry : transactionBundle.getEntry()) { Class<? extends IBaseResource> clazz = entry.getResource().getClass(); if (VALIDATORS.containsKey(clazz)) { FhirValidator validator = context.newValidator(); validator.registerValidatorModule(VALIDATORS.get(clazz)); ValidationResult validationResult = validator.validateWithResult(entry.getResource()); if (!validationResult.isSuccessful()) { IBaseOperationOutcome operationOutcome = validationResult.toOperationOutcome(); throw FhirUtils.exception(UnprocessableEntityException::new, operationOutcome, "Validation Failed"); } } } }
@Override public void validateRequest(FhirContext context, Object payload, Map<String, Object> parameters) { Bundle transactionBundle = (Bundle) payload; validateTransactionBundle(transactionBundle); validateBundleConsistency(transactionBundle); for (Bundle.BundleEntryComponent entry : transactionBundle.getEntry()) { Class<? extends IBaseResource> clazz = entry.getResource().getClass(); if (VALIDATORS.containsKey(clazz)) { FhirValidator validator = context.newValidator(); validator.registerValidatorModule(VALIDATORS.get(clazz)); ValidationResult validationResult = validator.validateWithResult(entry.getResource()); if (!validationResult.isSuccessful()) { IBaseOperationOutcome operationOutcome = validationResult.toOperationOutcome(); throw FhirUtils.exception(UnprocessableEntityException::new, operationOutcome, "Validation Failed"); } } } }
@Override public void validateRequest(FhirContext context, Object payload, Map<String, Object> parameters) { Bundle transactionBundle = (Bundle) payload; validateTransactionBundle(transactionBundle); validateBundleConsistency(transactionBundle); for (Bundle.BundleEntryComponent entry : transactionBundle.getEntry()) { Class<? extends IBaseResource> clazz = entry.getResource().getClass(); if (VALIDATORS.containsKey(clazz)) { ca.uhn.fhir.validation.FhirValidator validator = context.newValidator(); validator.registerValidatorModule(VALIDATORS.get(clazz)); ValidationResult validationResult = validator.validateWithResult(entry.getResource()); if (!validationResult.isSuccessful()) { IBaseOperationOutcome operationOutcome = validationResult.toOperationOutcome(); throw FhirUtils.exception(UnprocessableEntityException::new, operationOutcome, "Validation Failed"); } } } }
public static void main(String[] args) { // Create an incomplete encounter (status is required) Encounter enc = new Encounter(); enc.addIdentifier().setSystem("http://acme.org/encNums").setValue("12345"); // Create a new validator FhirContext ctx = FhirContext.forDstu3(); FhirValidator validator = ctx.newValidator(); // Did we succeed? ValidationResult result = validator.validateWithResult(enc); System.out.println("Success: " + result.isSuccessful()); // What was the result OperationOutcome outcome = (OperationOutcome) result.toOperationOutcome(); IParser parser = ctx.newXmlParser().setPrettyPrint(true); System.out.println(parser.encodeResourceToString(outcome)); } }
@Override public void audit(AuditContext auditContext, AuditMessage... auditMessages) { for (AuditMessage message : auditMessages) { AuditEvent auditEventResource = translator.translate(message); log.debug(fhirContext.newXmlParser().setPrettyPrint(true).encodeResourceToString(auditEventResource)); if (needValidation) { FhirValidator validator = fhirContext.newValidator(); // FhirInstanceValidator instanceValidator = new FhirInstanceValidator(); // validator.registerValidatorModule(instanceValidator); ValidationResult result = validator.validateWithResult(auditEventResource); if (!result.isSuccessful()) { StringBuilder sb = new StringBuilder("Validation of FHIR AuditEvent failed:"); for (SingleValidationMessage error : result.getMessages()) { sb.append('\n').append(error.toString()); } throw new ValidationException(sb.toString()); } } messages.add(auditEventResource); } }
@Override protected void validateResourceForStorage(QuestionnaireResponse theResource, ResourceTable theEntityToSave) { super.validateResourceForStorage(theResource, theEntityToSave); if (!myValidateResponses) { return; } QuestionnaireResponse qa = theResource; if (qa == null || qa.getQuestionnaire() == null || qa.getQuestionnaire().getReference() == null || qa.getQuestionnaire().getReference().isEmpty()) { return; } FhirValidator val = myRefImplCtx.newValidator(); val.setValidateAgainstStandardSchema(false); val.setValidateAgainstStandardSchematron(false); FhirQuestionnaireResponseValidator module = new FhirQuestionnaireResponseValidator(); module.setResourceLoader(new JpaResourceLoader()); module.setWorkerContext(new HapiWorkerContext(myRefImplCtx, myValidationSupport)); val.registerValidatorModule(module); ValidationResult result = val.validateWithResult(myRefImplCtx.newJsonParser().parseResource(getContext().newJsonParser().encodeResourceToString(qa))); if (!result.isSuccessful()) { IBaseOperationOutcome oo = getContext().newJsonParser().parseResource(OperationOutcome.class, myRefImplCtx.newJsonParser().encodeResourceToString(result.toOperationOutcome())); throw new UnprocessableEntityException(getContext(), oo); } }