use of org.hl7.fhir.r4.model.Location.LocationStatus in project gpconnect-demonstrator by nhsconnect.
the class LocationResourceProvider method locationDetailsToLocation.
/**
* convert locationDetails to fhir resource
* @param locationDetails
* @return Location resource
*/
private Location locationDetailsToLocation(LocationDetails locationDetails) {
Location location = new Location();
String resourceId = String.valueOf(locationDetails.getId());
String versionId = String.valueOf(locationDetails.getLastUpdated().getTime());
String resourceType = location.getResourceType().toString();
IdType id = new IdType(resourceType, resourceId, versionId);
location.setId(id);
location.getMeta().setVersionId(versionId);
location.getMeta().setLastUpdated(locationDetails.getLastUpdated());
location.getMeta().addProfile(SystemURL.SD_GPC_LOCATION);
location.setName(locationDetails.getName());
// #207 no site code
// location.setIdentifier(Collections.singletonList(new Identifier().setSystem(SystemURL.ID_ODS_SITE_CODE).setValue(locationDetails.getSiteOdsCode())));
// #246 remove type element
// Coding locationCommTypeCode = new Coding();
// locationCommTypeCode.setCode("COMM");
// locationCommTypeCode.setSystem(SystemURL.VS_CC_SER_DEL_LOCROLETYPE);
// locationCommTypeCode.setDisplay("Community Location");
//
// Coding locationGachTypeCode = new Coding();
// locationGachTypeCode.setCode("GACH");
// locationGachTypeCode.setSystem(SystemURL.VS_CC_SER_DEL_LOCROLETYPE);
// locationGachTypeCode.setDisplay("Hospitals; General Acute Care Hospital");
//
// @SuppressWarnings("deprecation")
// CodeableConcept locationType = new CodeableConcept();
// locationType.addCoding(locationCommTypeCode);
// locationType.addCoding(locationGachTypeCode);
// location.setType(locationType);
Organization orgz = FindOrganization(locationDetails.getOrgOdsCode());
if (orgz != null) {
Reference mngOrg = new Reference();
mngOrg.setReference(orgz.getId());
// #246 remove display element
// mngOrg.setDisplay(orgz.getName());
location.setManagingOrganization(mngOrg);
}
EnumSet<LocationStatus> statusList = EnumSet.allOf(LocationStatus.class);
LocationStatus locationStatus = null;
String status = locationDetails.getStatus();
if (status != null) {
for (LocationStatus statusItem : statusList) {
if (statusItem.toCode().equalsIgnoreCase(status)) {
locationStatus = statusItem;
break;
}
}
}
location.setAddress(createAddress(locationDetails));
location.setStatus(locationStatus);
return location;
}
Aggregations