4.2.1.6. Directory Endpoint¶
Warning
WIP
The DefaultRestClient
includes a DefaultRestDirectoryEndpoint
.
But unlike the other endpoints the directory handling utilizes a different paradigm.
The FolderDAO
is used to keep an active record,
i.e. a Java object constantly synced with the database entry.
4.2.1.6.1. Folder¶
To start working with a folder the directory object and its root folder can be retrieved with:
UUID ehr = openEhrClient.ehrEndpoint().createEhr();
FolderDAO root = openEhrClient.folder(ehr, "");
With the FolderDAO
at hand the following operations are available:
- Getting and setting the name
- Listing all sub folders
- Getting a sub folder, which will be created, if it not exists already
- Adding compositions to the folder, which includes committing the composition to the backend
- Finding of compositions in the folder structure, i.e. the matching EHR context
Together an example might be:
UUID ehr = openEhrClient.ehrEndpoint().createEhr();
FolderDAO root = openEhrClient.folder(ehr, "");
FolderDAO visit = root.getSubFolder("case1/visit1");
EhrbaseBloodPressureSimpleDeV0Composition bloodPressureSimpleDeV01 = TestData.buildEhrbaseBloodPressureSimpleDeV0();
visit.addCompositionEntity(bloodPressureSimpleDeV01);
EhrbaseBloodPressureSimpleDeV0Composition bloodPressureSimpleDeV02 = TestData.buildEhrbaseBloodPressureSimpleDeV0();
visit.addCompositionEntity(bloodPressureSimpleDeV02);
List<EhrbaseBloodPressureSimpleDeV0Composition> actual = visit.find(EhrbaseBloodPressureSimpleDeV0Composition.class);
assertThat(actual).size().isEqualTo(2);