use of org.hl7.fhir.r4b.model.CapabilityStatement in project gpconnect-demonstrator by nhsconnect.
the class GpConnectServerCapabilityStatementProvider method getServerConformance.
@Override
public CapabilityStatement getServerConformance(HttpServletRequest theRequest) {
final boolean FROM_JSON = true;
CapabilityStatement capabilityStatement = null;
if (!FROM_JSON) {
// Get the automatically generated statement
capabilityStatement = super.getServerConformance(theRequest);
// added at 1.2.2 force overwrite the default entries which are not correct
for (CapabilityStatement.CapabilityStatementRestComponent st : capabilityStatement.getRest()) {
for (CapabilityStatement.CapabilityStatementRestOperationComponent operation : st.getOperation()) {
String opPlusDollar = "$" + operation.getName();
switch(opPlusDollar) {
case REGISTER_PATIENT_OPERATION_NAME:
operation.getDefinition().setReference(OD_GPC_REGISTER_PATIENT);
break;
case GET_STRUCTURED_RECORD_OPERATION_NAME:
operation.getDefinition().setReference(OD_GPC_GET_STRUCTURED_RECORD);
break;
}
}
}
} else {
try {
// 1.2.6 #316
String interactionId = theRequest.getHeader(SSP_INTERACTIONID);
String capabilityFile = null;
switch(interactionId) {
case REST_READ_STRUCTURED_METADATA:
capabilityFile = "structured_capability.json";
break;
default:
capabilityFile = "capability.json";
}
// read a json capability file
String capabilityJson = new String(Files.readAllBytes(Paths.get(FhirRequestGenericIntercepter.getConfigPath() + "/" + capabilityFile)));
FhirContext ctx = FhirContext.forDstu3();
capabilityStatement = (CapabilityStatement) ctx.newJsonParser().parseResource(capabilityJson);
} catch (IOException ex) {
return null;
}
}
// And add additional required information
capabilityStatement.setVersion(SystemVariable.VERSION);
capabilityStatement.setDescription("This server implements the GP Connect API version " + SystemVariable.VERSION);
capabilityStatement.setName("GP Connect");
capabilityStatement.setCopyright("Copyright NHS Digital 2018");
capabilityStatement.getSoftware().setReleaseDate(Date.valueOf(LocalDate.parse("2017-09-27")));
return capabilityStatement;
}
use of org.hl7.fhir.r4b.model.CapabilityStatement in project beneficiary-fhir-data by CMSgov.
the class V2Server method configureServerInfoMetadata.
/**
* Configures various metadata fields that will be included in this server's {@link
* CapabilityStatement}.
*/
private void configureServerInfoMetadata() {
setServerName(CAPABILITIES_SERVER_NAME);
/*
* Read in some of the project metadata from a Maven-filtered properties
* file, which ensures that it's always up to date.
*/
Properties projectProps = new Properties();
try (InputStream projectPropsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("project.properties")) {
projectProps.load(projectPropsStream);
setImplementationDescription(projectProps.getProperty("project.id"));
setServerVersion(projectProps.getProperty("project.version"));
} catch (IOException e) {
throw new UncheckedIOException(e);
}
// Lightly customize the capability provider to set publisher name.
ServerCapabilityStatementProvider capabilityStatementProvider = new ServerCapabilityStatementProvider();
capabilityStatementProvider.setPublisher(CAPABILITIES_PUBLISHER);
setServerConformanceProvider(capabilityStatementProvider);
}
use of org.hl7.fhir.r4b.model.CapabilityStatement in project kindling by HL7.
the class Publisher method addToResourceFeed.
private void addToResourceFeed(CapabilityStatement cs, Bundle dest) throws Exception {
if (cs.getId() == null)
throw new Exception("Resource has no id");
if (ResourceUtilities.getById(dest, ResourceType.ValueSet, cs.getId()) != null)
throw new Exception("Attempt to add duplicate Conformance " + cs.getId());
if (!cs.hasText() || !cs.getText().hasDiv()) {
RendererFactory.factory(cs, page.getRc().copy()).render(cs);
}
if (!cs.hasText() || cs.getText().getDiv() == null)
System.out.println("WARNING: Example CapabilityStatement " + cs.getId() + " does not have any narrative");
// Changed this from an exception to a warning because generateConformanceStatement doesn't produce narrative if
// "register" is 'false'
ResourceUtilities.meta(cs).setLastUpdated(page.getGenDate().getTime());
if (!cs.getUrl().equals("http://hl7.org/fhir/" + cs.getResourceType().toString() + "/" + cs.getId()))
throw new Exception("URL mismatch on CapabilityStatement");
dest.getEntry().add(new BundleEntryComponent().setResource(cs).setFullUrl("http://hl7.org/fhir/" + cs.fhirType() + "/" + cs.getId()));
}
use of org.hl7.fhir.r4b.model.CapabilityStatement in project cqf-ruler by DBCG.
the class OAuthProvider method extend.
@Override
public void extend(CapabilityStatement metadata) {
metadata.getRestFirstRep().getSecurity().setCors(securityProperties.getOAuth().getSecurityCors());
Extension securityExtension = metadata.getRestFirstRep().getSecurity().addExtension();
securityExtension.setUrl(securityProperties.getOAuth().getSecurityUrl());
// security.extension.extension
Extension securityExtExt = securityExtension.addExtension();
securityExtExt.setUrl(securityProperties.getOAuth().getSecurityExtAuthUrl());
securityExtExt.setValue(new UriType(securityProperties.getOAuth().getSecurityExtAuthValueUri()));
Extension securityTokenExt = securityExtension.addExtension();
securityTokenExt.setUrl(securityProperties.getOAuth().getSecurityExtTokenUrl());
securityTokenExt.setValue(new UriType(securityProperties.getOAuth().getSecurityExtTokenValueUri()));
// security.extension.service
Coding coding = new Coding();
coding.setSystem(securityProperties.getOAuth().getServiceSystem());
coding.setCode(securityProperties.getOAuth().getServiceCode());
coding.setDisplay(securityProperties.getOAuth().getServiceDisplay());
CodeableConcept codeConcept = new CodeableConcept();
codeConcept.addCoding(coding);
metadata.getRestFirstRep().getSecurity().getService().add(codeConcept);
// metadata.getRestFirstRep().getSecurity().getService() //how do we handle "text" on the sample not part of getService
}
use of org.hl7.fhir.r4b.model.CapabilityStatement in project quality-measure-and-cohort-service by Alvearie.
the class FhirTestBase method getCapabilityStatement.
protected CapabilityStatement getCapabilityStatement() {
CapabilityStatement metadata = new CapabilityStatement();
metadata.setFhirVersion(Enumerations.FHIRVersion._4_0_1);
return metadata;
}
Aggregations