If you work with legacy data, the first thing you might want to do with Atomik is create records for your patients in Atomik, which can be done through the REST API for demographic data. There you can create a person, assign a patient role, and even create relationships between them, like family links. Though you also need to extract and transform data from your data sources, then map that to openEHR data structures.
The process of extracting, transforming, mapping and loading data is not simple, and depends a lot on the type of data and the data structures in the data sources. That process genearlly includes dealing with problems with the source data itself: completeness, correcteness, consistency, etc. That is why having an out-of-the-box solution for integration doesn't work, it requires a lot of custom transformation and mapping rules and should be done in a per-case way.
At CaboLabs we specialize in this type of integrations. It could be for legacy data (clinical or demographic), or for current integrations that require to gather and distribute data between many disparate systems that might use different data formats (standard or custom). What we do is to use an Integration Engine, which provides all the underlyting connectivity services an integration requires, but allows freedom for creating specific transformantions and mappings between any pair of data strucrures (sources and destination).
If you have a use case that requires integrating systems and/or data from/to Atomik, get in contact with us and we will help you through that process.