@Override public IdDt getReferenceElement() { return getReference(); }
@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); } }
public static String getParticipantId(Participant participant) { return participant == null ? null : participant.getIndividual().getReference().getIdPart(); }
@Override public int compare(Participant p1, Participant p2) { if (p1.getIndividual().getReference().equals(p2.getIndividual().getReference())) { return 0; } String n1 = FhirUtil.formatName(EncounterUtil.getName(p1)); String n2 = FhirUtil.formatName(EncounterUtil.getName(p2)); int i = n1.compareToIgnoreCase(n2); return i == 0 ? 1 : i; }
private static boolean isProvider(Participant participant) { return participant != null && VistAUtil.getBrokerSession().callRPCBool("RGCWFUSR HASKEYS", "PROVIDER", participant.getIndividual().getReference().getIdPart()); }
/** * Returns a resource given a resource reference. If the resource has not been previously * fetched, it will be fetched from the server. * * @param reference A resource reference. * @return The corresponding resource. */ public static IBaseResource getResource(ResourceReferenceDt reference) { if (reference.isEmpty()) { return null; } if (reference.getResource() != null) { return reference.getResource(); } IdDt resourceId = reference.getReference(); if (resourceId == null) { throw new IllegalStateException("Reference has no resource ID defined"); } String resourceUrl = expandURL(resourceId.getValue()); IBaseResource resource = getFhirClient().read(new UriDt(resourceUrl)); reference.setResource(resource); return resource; }
@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); } }