@Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); builder.append("value", getValue()); return builder.toString(); }
@CoverageIgnore @Override UriParam newInstance() { return new UriParam(); }
@Override public boolean matches(IQueryParameterType theParam) { if (!(theParam instanceof UriParam)) { return false; } UriParam uri = (UriParam) theParam; return getUri().equalsIgnoreCase(uri.getValueNotNull()); }
UriParam param = (UriParam) nextOr; String value = param.getValue(); if (value == null) { continue; if (param.getQualifier() == UriParamQualifierEnum.ABOVE) { codePredicates.add(hashAndUriPredicate); } else if (param.getQualifier() == UriParamQualifierEnum.BELOW) {
public UriParam(String theValue) { setValue(theValue); }
UriParam param = (UriParam) nextOr; String value = param.getValue(); if (value == null) { continue; if (param.getQualifier() == UriParamQualifierEnum.ABOVE) { codePredicates.add(hashAndUriPredicate); } else if (param.getQualifier() == UriParamQualifierEnum.BELOW) {
public UriParam(String theValue) { setValue(theValue); }
IdType resourceId = new IdType(next.getValue()); ValidateUtil.isTrueOrThrowInvalidRequest(resourceId.hasResourceType(), RESOURCE_ID + " parameter must have resource type"); ValidateUtil.isTrueOrThrowInvalidRequest(resourceId.hasIdPart(), RESOURCE_ID + " parameter must have resource ID part");
@Override public IQueryParameterType toQueryParameterType() { return new UriParam(getUri()); }
params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(ValueSet.SP_URL, new UriParam(theUri)); search = myValueSetDao.search(params); SearchParameterMap params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(ValueSet.SP_URL, new UriParam(theUri)); search = myValueSetDao.search(params); params.add(StructureDefinition.SP_URL, new UriParam(theUri)); search = myStructureDefinitionDao.search(params); } else if ("Questionnaire".equals(resourceName)) { SearchParameterMap params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(CodeSystem.SP_URL, new UriParam(theUri)); search = myCodeSystemDao.search(params); } else {
@Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); builder.append("value", getValue()); return builder.toString(); }
params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(ValueSet.SP_URL, new UriParam(theUri)); search = myValueSetDao.search(params); SearchParameterMap params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(ValueSet.SP_URL, new UriParam(theUri)); search = myValueSetDao.search(params); params.add(StructureDefinition.SP_URL, new UriParam(theUri)); search = myStructureDefinitionDao.search(params); } else if ("Questionnaire".equals(resourceName)) { SearchParameterMap params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(CodeSystem.SP_URL, new UriParam(theUri)); search = myCodeSystemDao.search(params); } else {
IdType resourceId = new IdType(next.getValue()); ValidateUtil.isTrueOrThrowInvalidRequest(resourceId.hasResourceType(), RESOURCE_ID + " parameter must have resource type"); ValidateUtil.isTrueOrThrowInvalidRequest(resourceId.hasIdPart(), RESOURCE_ID + " parameter must have resource ID part");
@Override public ValueSet expandByIdentifier(String theUri, String theFilter) { if (isBlank(theUri)) { throw new InvalidRequestException("URI must not be blank or missing"); } ValueSet source; org.hl7.fhir.instance.model.ValueSet defaultValueSet = myDefaultProfileValidationSupport.fetchResource(myRiCtx, org.hl7.fhir.instance.model.ValueSet.class, theUri); if (defaultValueSet != null) { source = getContext().newJsonParser().parseResource(ValueSet.class, myRiCtx.newJsonParser().encodeResourceToString(defaultValueSet)); } else { SearchParameterMap params = new SearchParameterMap(); params.setLoadSynchronousUpTo(1); params.add(ValueSet.SP_URL, new UriParam(theUri)); IBundleProvider ids = search(params); if (ids.size() == 0) { throw new InvalidRequestException("Unknown ValueSet URI: " + theUri); } source = (ValueSet) ids.getResources(0, 1).get(0); } return expand(source, theFilter); }
if ("ValueSet".equals(resourceName)) { SearchParameterMap params = new SearchParameterMap(); params.add(ca.uhn.fhir.model.dstu2.resource.ValueSet.SP_URL, new UriParam(theUri)); params.setLoadSynchronousUpTo(10); search = myValueSetDao.search(params); } else if ("StructureDefinition".equals(resourceName)) { search = myStructureDefinitionDao.search(new SearchParameterMap().setLoadSynchronous(true).add(ca.uhn.fhir.model.dstu2.resource.StructureDefinition.SP_URL, new UriParam(theUri))); } else if ("Questionnaire".equals(resourceName)) { search = myQuestionnaireDao.search(new SearchParameterMap().setLoadSynchronous(true).add(Questionnaire.SP_RES_ID, new TokenParam(null, theUri)));
/** * Handles the PIXm Retrieve. Note that this is not part of the specification, but a useful variant that allows to use resource IDs * in requests such as .../Patient/4711/$ihe-pix would be equivalent with .../Patient/$ihe-pix?sourceIdentifier=URI|4711 where URI * identifies the NamingSystem used for resource IDs * * @param resourceId resource ID * @param targetSystemParam target system URI * @param httpServletRequest servlet request * @param httpServletResponse servlet response * @return {@link Parameters} containing found identifiers */ @Operation(name = Iti83Constants.PIXM_OPERATION_NAME, type = Patient.class, idempotent = true, returnParameters = {@OperationParam(name = "return", type = Identifier.class, max = 100)}) public Parameters pixmRetrieve( @IdParam IdType resourceId, @OperationParam(name = TARGET_SYSTEM_NAME) UriParam targetSystemParam, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { UriType targetUri = targetSystemParam == null ? null : new UriType(targetSystemParam.getValue()); Parameters inParams = new Parameters(); inParams.addParameter().setName(SOURCE_IDENTIFIER_NAME).setValue(new Identifier().setValue(resourceId.getIdPart())); inParams.addParameter().setName(TARGET_SYSTEM_NAME).setValue(targetUri); // Run down the route return requestResource(inParams, Parameters.class, httpServletRequest, httpServletResponse); } }
@CoverageIgnore @Override UriParam newInstance() { return new UriParam(); }
/** * Handles the PIXm Query * * @param sourceIdentifierParam Identifier to search for. Should be an {@link Identifier}, but obviously * non-primitive types are forbidden in GET operations * @param targetSystemParam target system URI * @return {@link Parameters} containing found identifiers */ @SuppressWarnings("unused") @Operation(name = Iti83Constants.PIXM_OPERATION_NAME, type = Patient.class, idempotent = true, returnParameters = {@OperationParam(name = "return", type = Identifier.class, max = 100)}) public Parameters pixmQuery( @OperationParam(name = SOURCE_IDENTIFIER_NAME) TokenParam sourceIdentifierParam, @OperationParam(name = TARGET_SYSTEM_NAME) UriParam targetSystemParam, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { Identifier sourceIdentifier = new Identifier() .setSystem(sourceIdentifierParam.getSystem()) .setValue(sourceIdentifierParam.getValue()); UriType targetUri = targetSystemParam == null ? null : new UriType(targetSystemParam.getValue()); Parameters inParams = new Parameters(); inParams.addParameter().setName(SOURCE_IDENTIFIER_NAME).setValue(sourceIdentifier); inParams.addParameter().setName(TARGET_SYSTEM_NAME).setValue(targetUri); // Run down the route return requestResource(inParams, Parameters.class, httpServletRequest, httpServletResponse); }