use of com.nedap.archie.rm.datavalues.DvURI in project openEHR_SDK by ehrbase.
the class UnflattenerTest method testUnflattenEpsiode.
@Test
public void testUnflattenEpsiode() {
EpisodeOfCareComposition episode = buildEpisodeOfCareComposition();
Unflattener cut = new Unflattener(new TestDataTemplateProvider());
Composition actual = (Composition) cut.unflatten(episode);
assertThat(actual).isNotNull();
assertThat(actual.getContent()).size().isEqualTo(1);
AdminEntry actualAdminEntry = (AdminEntry) actual.getContent().get(0);
List<Object> identifiers = actualAdminEntry.itemsAtPath("/data[at0001]/items[at0002]/value");
assertThat(identifiers).extracting(i -> ((DvIdentifier) i).getId()).containsExactlyInAnyOrder("123", "456");
List<Object> uris = actualAdminEntry.itemsAtPath("/data[at0001]/items[at0013]/value");
assertThat(uris).extracting(u -> ((DvURI) u).getValue()).containsExactlyInAnyOrder(URI.create("https://github.com/ehrbase"));
}
use of com.nedap.archie.rm.datavalues.DvURI in project fhir-bridge by ehrbase.
the class DocumentReferenceToHipDocumentConverter method getMultimedia.
private MediendateiCluster getMultimedia(DocumentReference documentReference) {
Attachment attachment = documentReference.getContentFirstRep().getAttachment();
DvMultimedia multimedia = new DvMultimedia();
multimedia.setUri(new DvURI(attachment.getUrl()));
multimedia.setMediaType(new CodePhrase(new TerminologyId("IANA_media-types"), attachment.getContentType()));
multimedia.setSize(attachment.getSize());
MediendateiCluster result = new MediendateiCluster();
result.setMediendateiInhalt(multimedia);
result.setMediendateiInhaltValue(attachment.getTitle());
result.setBeschreibungValue(documentReference.getDescription());
getCreation(attachment).ifPresent(result::setErstelltValue);
return result;
}
use of com.nedap.archie.rm.datavalues.DvURI in project openEHR_SDK by ehrbase.
the class DvMultimediaRMUnmarshaller method handle.
/**
* {@inheritDoc}
*/
@Override
public void handle(String currentTerm, DvMultimedia rmObject, Map<FlatPathDto, String> currentValues, Context<Map<FlatPathDto, String>> context, Set<String> consumedPaths) {
rmObject.setUri(new DvURI());
setValue(currentTerm, "url", currentValues, rmObject.getUri()::setValue, URI.class, consumedPaths);
if (rmObject.getUri().getValue() == null) {
setValue(currentTerm, null, currentValues, rmObject.getUri()::setValue, URI.class, consumedPaths);
}
if (RMHelper.isEmpty(rmObject.getUri())) {
rmObject.setUri(null);
}
rmObject.setMediaType(new CodePhrase());
rmObject.getMediaType().setTerminologyId(new TerminologyId("IANA_media-types"));
setValue(currentTerm, "mediatype", currentValues, rmObject.getMediaType()::setCodeString, String.class, consumedPaths);
setValue(currentTerm, "compression_algorithm", currentValues, codeString -> {
if (codeString != null) {
rmObject.setCompressionAlgorithm(new CodePhrase());
rmObject.getCompressionAlgorithm().setTerminologyId(new TerminologyId("openehr_compression_algorithms"));
rmObject.getCompressionAlgorithm().setCodeString(codeString);
}
}, String.class, consumedPaths);
setValue(currentTerm, "integrity_check_algorithm", currentValues, codeString -> {
if (codeString != null) {
rmObject.setIntegrityCheckAlgorithm(new CodePhrase());
rmObject.getIntegrityCheckAlgorithm().setTerminologyId(new TerminologyId("openehr_integrity_check_algorithms"));
rmObject.getIntegrityCheckAlgorithm().setCodeString(codeString);
}
}, String.class, consumedPaths);
setValue(currentTerm, "integrity_check", currentValues, codeString -> {
if (codeString != null) {
rmObject.setIntegrityCheck(codeString.getBytes(StandardCharsets.UTF_8));
}
}, String.class, consumedPaths);
setValue(currentTerm, "data", currentValues, codeString -> {
if (codeString != null) {
rmObject.setData(codeString.getBytes(StandardCharsets.UTF_8));
}
}, String.class, consumedPaths);
setValue(currentTerm, "size", currentValues, rmObject::setSize, Integer.class, consumedPaths);
setValue(currentTerm, "alternatetext", currentValues, rmObject::setAlternateText, String.class, consumedPaths);
}
Aggregations