diff --git a/archie-utils/src/main/java/com/nedap/archie/text/ReflectionRmSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/ReflectionRmSerializer.java new file mode 100644 index 000000000..de44d37e8 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/ReflectionRmSerializer.java @@ -0,0 +1,53 @@ +package com.nedap.archie.text; + +import com.nedap.archie.rm.RMObject; +import com.nedap.archie.rminfo.ArchieRMInfoLookup; +import com.nedap.archie.rminfo.RMAttributeInfo; +import com.nedap.archie.rminfo.RMTypeInfo; + +import java.lang.reflect.InvocationTargetException; + +public class ReflectionRmSerializer { + + private final ArchieRMInfoLookup modelLookup; + + public ReflectionRmSerializer() { + this.modelLookup = ArchieRMInfoLookup.getInstance(); + } + public void serialize(RMObject object, RmToMarkdownSerializer serializer) { + if(object == null) { + return; + } + RMTypeInfo typeInfo = modelLookup.getTypeInfo(object.getClass()); + if(typeInfo == null) { + serializer.append(object.toString()); + return; + } + for(RMAttributeInfo attribute: typeInfo.getAttributes().values()) { + if(attribute.getRmName().equalsIgnoreCase("parent") || + attribute.getRmName().equalsIgnoreCase("path") || + attribute.getRmName().equalsIgnoreCase("archetype_node_id")) { + //ignore parent to prevent endless loops. Ignore path and archetype node id because these are very technical fields + continue; + } + serializer.append(attribute.getRmName()); + serializer.append(": "); + try { + Object result = attribute.getGetMethod().invoke(object); + if(result == null) { + serializer.append(" - "); + } else if(result instanceof RMObject) { + serializer.append((RMObject) result); + } else { + serializer.append(result.toString()); + } + } catch (IllegalAccessException e) { + //... + } catch (InvocationTargetException e) { + //... + } + serializer.appendNewLine(); + + } + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/RmSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/RmSerializer.java new file mode 100644 index 000000000..985040a5f --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/RmSerializer.java @@ -0,0 +1,10 @@ +package com.nedap.archie.text; + +import com.nedap.archie.rm.RMObject; + +public interface RmSerializer { + + void serialize(T data, RmToMarkdownSerializer serializer); + + Class getSerializedClass(); +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/RmToMarkdownSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/RmToMarkdownSerializer.java new file mode 100644 index 000000000..2ae0be03c --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/RmToMarkdownSerializer.java @@ -0,0 +1,155 @@ +package com.nedap.archie.text; + +import com.nedap.archie.base.OpenEHRBase; +import com.nedap.archie.rm.RMObject; +import com.nedap.archie.text.serializers.*; +import com.nedap.archie.text.serializers.action.ActivitySerializer; +import com.nedap.archie.text.serializers.action.InstructionDetailsSerializer; +import com.nedap.archie.text.serializers.action.IsmTransitionSerializer; +import com.nedap.archie.text.serializers.audit.FeederAuditDetailsSerializer; +import com.nedap.archie.text.serializers.audit.FeederAuditSerializer; +import com.nedap.archie.text.serializers.datatypes.*; +import com.nedap.archie.text.serializers.demographic.PartyIdentifiedSerializer; +import com.nedap.archie.text.serializers.demographic.PartyRelatedSerializer; +import com.nedap.archie.text.serializers.demographic.PartySelfSerializer; +import com.nedap.archie.text.serializers.entries.*; + +import java.util.HashMap; +import java.util.Map; + +/** + * Converts instances of the openEHR RM to human readable text + */ +public class RmToMarkdownSerializer { + + Map serializers; + ReflectionRmSerializer fallbackSerializer; + + StringBuilder stringBuilder; + + public RmToMarkdownSerializer() { + serializers = new HashMap<>(); + + //composition and data structures + addSerializer(new ClusterSerializer()); + addSerializer(new CompositionSerializer()); + addSerializer(new ElementSerializer()); + addSerializer(new ItemListSerializer()); + addSerializer(new ItemTreeSerializer()); + addSerializer(new SectionSerializer()); + + //composition extra classes + addSerializer(new EventContextSerializer()); + addSerializer(new ParticipationSerializer()); + + //entries + addSerializer(new EvaluationSerializer()); + addSerializer(new ObservationSerializer()); + addSerializer(new InstructionSerializer()); + addSerializer(new ActionSerializer()); + addSerializer(new GenericEntrySerializer()); + addSerializer(new AdminEntrySerializer()); + + //classes used in Action and Instruction + addSerializer(new ActivitySerializer()); + addSerializer(new InstructionDetailsSerializer()); + addSerializer(new IsmTransitionSerializer()); + + //references to demographics + addSerializer(new PartyIdentifiedSerializer()); + addSerializer(new PartyRelatedSerializer()); + addSerializer(new PartySelfSerializer()); + + //data values + addSerializer(new DvBooleanSerializer()); + addSerializer(new DvCodedTextSerializer()); + addSerializer(new DvCountSerializer()); + addSerializer(new DvDateSerializer()); + addSerializer(new DvDateTimeSerializer()); + addSerializer(new DvDurationSerializer()); + addSerializer(new DvOrdinalSerializer()); + addSerializer(new DvProportionSerializer()); + addSerializer(new DvQuantitySerializer()); + addSerializer(new DvTextSerializer()); + addSerializer(new DvTimeSerializer()); + addSerializer(new DvIdentifierSerializer()); + addSerializer(new DvIntervalSerializer()); + + //supporting DV-classes + addSerializer(new ReferenceRangeSerializer()); + + //Feeder audits + addSerializer(new FeederAuditSerializer()); + addSerializer(new FeederAuditDetailsSerializer()); + + //if no serializer is known, just serialize every field + //better would be to filter on non-technical attributes - However currently this works without the BMM + fallbackSerializer = new ReflectionRmSerializer(); + stringBuilder = new StringBuilder(); + } + + private void addSerializer(RmSerializer serializer) { + serializers.put(serializer.getSerializedClass(), serializer); + } + + public void append(RMObject object){ + if(object == null) { + return; + } + RmSerializer serializer = serializers.get(object.getClass()); + + if(serializer != null) { + serializer.serialize(object, this); + } else { + fallbackSerializer.serialize(object, this); + } + } + + public void appendIfNotNull(String name, RMObject data) { + if(data != null) { + append(name); + append(": "); + append(data); + appendNewLine(); + } + } + + /** + * Append a header with the data, if data is not null. Adds a newline after the header + * @param headerString the markdown header string, for example '## ' or '#### ' + * @param name the name to serialize as the name of the header + * @param data the data to further serialize. + */ + public void appendWithHeaderIfNotNull(String headerString, String name, RMObject data) { + if(data != null) { + append(headerString); + append(name); + appendNewLine(); + append(data); + appendNewLine(); + } + } + + public void appendIfNotNull(String name, String data) { + if(data != null) { + append(name); + append(": "); + append(data); + appendNewLine(); + } + } + + public void appendNewLine() { + append(" \n"); + } + + public String toString() { + return stringBuilder.toString(); + } + + public void append(String toWrite) { + stringBuilder.append(toWrite); + } + + +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/ClusterSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ClusterSerializer.java new file mode 100644 index 000000000..9bed83068 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ClusterSerializer.java @@ -0,0 +1,24 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.datastructures.Cluster; +import com.nedap.archie.rm.datastructures.Item; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class ClusterSerializer implements RmSerializer { + + @Override + public void serialize(Cluster data, RmToMarkdownSerializer serializer) { + serializer.append("#### "); + LocatableUtil.serialize(data, serializer); + for(Item item: data.getItems()) { + serializer.append(item); + serializer.appendNewLine(); + } + } + + @Override + public Class getSerializedClass() { + return Cluster.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java new file mode 100644 index 000000000..dafb66740 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java @@ -0,0 +1,31 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.composition.Composition; +import com.nedap.archie.rm.composition.ContentItem; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class CompositionSerializer implements RmSerializer { + + @Override + public void serialize(Composition data, RmToMarkdownSerializer serializer) { + serializer.append("# "); + LocatableUtil.serialize(data, serializer); + serializer.appendIfNotNull(I18n.t("Composer"), data.getComposer()); + + for(ContentItem item: data.getContent()) { + serializer.append(item); + serializer.appendNewLine(); + } + + serializer.appendWithHeaderIfNotNull("## ", I18n.t("Context"), data.getContext()); + //not written for now: language, territory + + } + + @Override + public Class getSerializedClass() { + return Composition.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java new file mode 100644 index 000000000..79c96457a --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java @@ -0,0 +1,34 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.datastructures.Element; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class ElementSerializer implements RmSerializer { + + @Override + public void serialize(Element data, RmToMarkdownSerializer serializer) { + serializer.append(data.getName()); + serializer.append(": "); + + if(data.getValue() != null) { + serializer.append(data.getValue()); + } else { + if(data.getNullFlavour() != null) { + serializer.append(I18n.t("No value. Reason: ")); + serializer.append(data.getNullFlavour()); + if(data.getNullReason() != null) { + serializer.append(" "); + serializer.append(data.getNullReason()); + } + } + } + + } + + @Override + public Class getSerializedClass() { + return Element.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java new file mode 100644 index 000000000..548d94cbe --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java @@ -0,0 +1,37 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.composition.EventContext; +import com.nedap.archie.rm.generic.Participation; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class EventContextSerializer implements RmSerializer { + @Override + public void serialize(EventContext data, RmToMarkdownSerializer serializer) { + + serializer.appendIfNotNull(I18n.t("Location"), data.getLocation()); + serializer.appendIfNotNull(I18n.t("Start time"), data.getStartTime()); + serializer.appendIfNotNull(I18n.t("End time"), data.getEndTime()); + serializer.appendIfNotNull(I18n.t("Setting"), data.getSetting()); + + if(data.getParticipations() != null && !data.getParticipations().isEmpty()) { + + serializer.append("##### "); + serializer.append(I18n.t("participations")); + serializer.appendNewLine(); + for(Participation participation:data.getParticipations()) { + serializer.append(participation); + serializer.appendNewLine(); + } + } + if(data.getOtherContext() != null) { + serializer.append(data.getOtherContext()); + } + } + + @Override + public Class getSerializedClass() { + return EventContext.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemListSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemListSerializer.java new file mode 100644 index 000000000..2e9d11550 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemListSerializer.java @@ -0,0 +1,25 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.datastructures.Item; +import com.nedap.archie.rm.datastructures.ItemList; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class ItemListSerializer implements RmSerializer { + + @Override + public void serialize(ItemList data, RmToMarkdownSerializer serializer) { + //name is rarely used, neither is feeder audit - do not show, is confusing + //serializer.append("#### "); + //LocatableUtil.serialize(data, serializer); + for(Item item: data.getItems()) { + serializer.append(item); + serializer.appendNewLine(); + } + } + + @Override + public Class getSerializedClass() { + return ItemList.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemTreeSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemTreeSerializer.java new file mode 100644 index 000000000..25dbb90c4 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ItemTreeSerializer.java @@ -0,0 +1,26 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.datastructures.Item; +import com.nedap.archie.rm.datastructures.ItemTree; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class ItemTreeSerializer implements RmSerializer { + + @Override + public void serialize(ItemTree data, RmToMarkdownSerializer serializer) { + //name is rarely used, neither is feeder audit - do not show, is confusing + //serializer.append("#### "); + //LocatableUtil.serialize(data, serializer); + + for(Item item: data.getItems()) { + serializer.append(item); + serializer.appendNewLine(); + } + } + + @Override + public Class getSerializedClass() { + return ItemTree.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/LocatableUtil.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/LocatableUtil.java new file mode 100644 index 000000000..431b13ddd --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/LocatableUtil.java @@ -0,0 +1,15 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.archetyped.Locatable; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class LocatableUtil { + + public static void serialize(Locatable data, RmToMarkdownSerializer serializer) { + serializer.append(data.getName()); + serializer.appendNewLine(); + if(data.getFeederAudit() != null) { + serializer.append(data.getFeederAudit()); + } + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java new file mode 100644 index 000000000..0292644c2 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java @@ -0,0 +1,21 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.generic.Participation; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class ParticipationSerializer implements RmSerializer { + @Override + public void serialize(Participation data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("Function of participant"), data.getFunction()); + serializer.appendIfNotNull(I18n.t("Mode of participation"), data.getMode()); + serializer.appendIfNotNull(I18n.t("Time"), data.getTime()); + serializer.appendIfNotNull(I18n.t("Performer"), data.getPerformer()); + } + + @Override + public Class getSerializedClass() { + return Participation.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/SectionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/SectionSerializer.java new file mode 100644 index 000000000..94e0158d4 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/SectionSerializer.java @@ -0,0 +1,24 @@ +package com.nedap.archie.text.serializers; + +import com.nedap.archie.rm.composition.ContentItem; +import com.nedap.archie.rm.composition.Section; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class SectionSerializer implements RmSerializer
{ + + @Override + public void serialize(Section data, RmToMarkdownSerializer serializer) { + serializer.append("## "); + LocatableUtil.serialize(data, serializer); + for(ContentItem item: data.getItems()) { + serializer.append(item); + serializer.appendNewLine(); + } + } + + @Override + public Class getSerializedClass() { + return Section.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java new file mode 100644 index 000000000..3b5771540 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java @@ -0,0 +1,22 @@ +package com.nedap.archie.text.serializers.action; + +import com.nedap.archie.rm.composition.Activity; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; +import org.openehr.utils.message.I18n; + +public class ActivitySerializer implements RmSerializer { + @Override + public void serialize(Activity data, RmToMarkdownSerializer serializer) { + serializer.append("##### "); + LocatableUtil.serialize(data, serializer); + serializer.appendIfNotNull(I18n.t("Description"), data.getDescription()); + serializer.appendIfNotNull(I18n.t("Archetype for action"), data.getActionArchetypeId()); + } + + @Override + public Class getSerializedClass() { + return Activity.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/InstructionDetailsSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/InstructionDetailsSerializer.java new file mode 100644 index 000000000..63ea0dd18 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/InstructionDetailsSerializer.java @@ -0,0 +1,18 @@ +package com.nedap.archie.text.serializers.action; + +import com.nedap.archie.rm.composition.InstructionDetails; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class InstructionDetailsSerializer implements RmSerializer { + @Override + public void serialize(InstructionDetails data, RmToMarkdownSerializer serializer) { + serializer.append(data.getWfDetails()); + //TODO: reference to instruction? + } + + @Override + public Class getSerializedClass() { + return InstructionDetails.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java new file mode 100644 index 000000000..774023346 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java @@ -0,0 +1,26 @@ +package com.nedap.archie.text.serializers.action; + +import com.nedap.archie.rm.composition.IsmTransition; +import com.nedap.archie.rm.datavalues.DvText; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class IsmTransitionSerializer implements RmSerializer { + @Override + public void serialize(IsmTransition data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("State transition"), data.getTransition()); + serializer.appendIfNotNull(I18n.t("Care flow step"), data.getCareflowStep()); + serializer.appendIfNotNull(I18n.t("Current state"), data.getCurrentState()); + if(data.getReason() != null) { + for(DvText reason: data.getReason()) { + serializer.appendIfNotNull(I18n.t("State transition reason"), data.getCurrentState()); + } + } + } + + @Override + public Class getSerializedClass() { + return IsmTransition.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java new file mode 100644 index 000000000..3740419f2 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java @@ -0,0 +1,27 @@ +package com.nedap.archie.text.serializers.audit; + +import com.nedap.archie.rm.archetyped.FeederAuditDetails; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class FeederAuditDetailsSerializer implements RmSerializer { + @Override + public void serialize(FeederAuditDetails data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("Originating system"), data.getSystemId()); + serializer.appendIfNotNull(I18n.t("Location"), data.getLocation()); + + if(data.getTime() != null) { + serializer.appendIfNotNull("time", data.getTime()); + } + serializer.appendIfNotNull(I18n.t("Audit provider"), data.getProvider()); + if(data.getOtherDetails() != null) { + serializer.appendWithHeaderIfNotNull("##### ", I18n.t("other details"), data.getOtherDetails()); + } + } + + @Override + public Class getSerializedClass() { + return FeederAuditDetails.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java new file mode 100644 index 000000000..38fd47009 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java @@ -0,0 +1,27 @@ +package com.nedap.archie.text.serializers.audit; + +import com.nedap.archie.rm.archetyped.FeederAudit; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class FeederAuditSerializer implements RmSerializer { + @Override + public void serialize(FeederAudit data, RmToMarkdownSerializer serializer) { + + serializer.appendWithHeaderIfNotNull( + "#### ", + I18n.t("Originating system audit"), + data.getOriginatingSystemAudit()); + + serializer.appendWithHeaderIfNotNull( + "#### ", + I18n.t("Feeder system audit"), + data.getFeederSystemAudit()); + } + + @Override + public Class getSerializedClass() { + return FeederAudit.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java new file mode 100644 index 000000000..620e447f1 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java @@ -0,0 +1,22 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.DvBoolean; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class DvBooleanSerializer implements RmSerializer { + @Override + public void serialize(DvBoolean data, RmToMarkdownSerializer serializer) { + if(data.getValue() == null) { + serializer.append(I18n.t("no value")); + return; + } + serializer.append(data.getValue() ? I18n.t("Yes") :I18n.t("No")); + } + + @Override + public Class getSerializedClass() { + return DvBoolean.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCodedTextSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCodedTextSerializer.java new file mode 100644 index 000000000..dd08463bd --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCodedTextSerializer.java @@ -0,0 +1,17 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.DvCodedText; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvCodedTextSerializer implements RmSerializer { + @Override + public void serialize(DvCodedText data, RmToMarkdownSerializer serializer) { + serializer.append(data.getValue()); + } + + @Override + public Class getSerializedClass() { + return DvCodedText.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java new file mode 100644 index 000000000..283facd0a --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java @@ -0,0 +1,25 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvCount; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class DvCountSerializer implements RmSerializer { + @Override + public void serialize(DvCount data, RmToMarkdownSerializer serializer) { + if(data.getMagnitude() == null) { + serializer.append(I18n.t("no magnitude")); + return; + } + serializer.append(Long.toString(data.getMagnitude())); + serializer.appendNewLine(); + DvQuantifiedUtil.serialize(data, serializer); + //TODO: all the other fields, reference ranges, normal ranges, status, etc. + } + + @Override + public Class getSerializedClass() { + return DvCount.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java new file mode 100644 index 000000000..d8507e157 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java @@ -0,0 +1,29 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.datetime.DateTimeSerializerFormatters; +import com.nedap.archie.rm.datavalues.quantity.datetime.DvDate; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +import java.text.DateFormat; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; + +public class DvDateSerializer implements RmSerializer { + @Override + public void serialize(DvDate data, RmToMarkdownSerializer serializer) { + if(data.getValue() == null) { + serializer.append(I18n.t("no value")); + return; + } + serializer.append(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(I18n.getCurrentLocale()) + .format(data.getValue())); + DvQuantifiedUtil.serialize(data, serializer); + } + + @Override + public Class getSerializedClass() { + return DvDate.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java new file mode 100644 index 000000000..30ced29ab --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java @@ -0,0 +1,31 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.datetime.DateTimeSerializerFormatters; +import com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTime; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +import java.text.DateFormat; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; +import java.util.Locale; + +public class DvDateTimeSerializer implements RmSerializer { + @Override + public void serialize(DvDateTime data, RmToMarkdownSerializer serializer) { + if(data.getValue() == null) { + serializer.append(I18n.t("no value")); + return; + } + + serializer.append(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(I18n.getCurrentLocale()) + .format(data.getValue())); + DvQuantifiedUtil.serialize(data, serializer); + } + + @Override + public Class getSerializedClass() { + return DvDateTime.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java new file mode 100644 index 000000000..e55e8b16f --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java @@ -0,0 +1,28 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.datetime.DateTimeSerializerFormatters; +import com.nedap.archie.rm.datavalues.quantity.datetime.DvDuration; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; + +public class DvDurationSerializer implements RmSerializer { + @Override + public void serialize(DvDuration data, RmToMarkdownSerializer serializer) { + if(data.getValue() == null) { + serializer.append(I18n.t("no value")); + return; + } + serializer.append(DateTimeSerializerFormatters.serializeDuration(data.getValue())); + serializer.appendNewLine(); + DvQuantifiedUtil.serialize(data, serializer); + } + + @Override + public Class getSerializedClass() { + return DvDuration.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIdentifierSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIdentifierSerializer.java new file mode 100644 index 000000000..dc74d9a35 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIdentifierSerializer.java @@ -0,0 +1,37 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.DvIdentifier; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvIdentifierSerializer implements RmSerializer { + + @Override + public void serialize(DvIdentifier data, RmToMarkdownSerializer serializer) { + if(data.getType() != null) { + serializer.append("Type: "); + serializer.append(data.getType()); + serializer.appendNewLine(); + } + if(data.getId() != null) { + serializer.append("Id: "); + serializer.append(data.getId()); + serializer.appendNewLine(); + } + if(data.getIssuer() != null) { + serializer.append("Uitgever: "); + serializer.append(data.getIssuer()); + serializer.appendNewLine(); + } + if(data.getAssigner() != null) { + serializer.append("Toekenner: "); + serializer.append(data.getAssigner()); + serializer.appendNewLine(); + } + } + + @Override + public Class getSerializedClass() { + return DvIdentifier.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIntervalSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIntervalSerializer.java new file mode 100644 index 000000000..e291ffaa2 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvIntervalSerializer.java @@ -0,0 +1,22 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvInterval; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvIntervalSerializer implements RmSerializer { + @Override + public void serialize(DvInterval data, RmToMarkdownSerializer serializer) { + if(data.getInterval() != null) { + serializer.append(data.getLower()); + serializer.append(" - "); + serializer.append(data.getUpper()); + + } + } + + @Override + public Class getSerializedClass() { + return DvInterval.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvOrdinalSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvOrdinalSerializer.java new file mode 100644 index 000000000..5b49e6a96 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvOrdinalSerializer.java @@ -0,0 +1,21 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvOrdinal; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvOrdinalSerializer implements RmSerializer { + @Override + public void serialize(DvOrdinal data, RmToMarkdownSerializer serializer) { + if(data.getValue() != null) { + serializer.append(Long.toString(data.getValue())); + serializer.append(" - "); + } + serializer.append(data.getSymbol()); + } + + @Override + public Class getSerializedClass() { + return DvOrdinal.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvProportionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvProportionSerializer.java new file mode 100644 index 000000000..a197d8867 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvProportionSerializer.java @@ -0,0 +1,41 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvProportion; +import com.nedap.archie.rm.datavalues.quantity.ProportionKind; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvProportionSerializer implements RmSerializer { + @Override + public void serialize(DvProportion data, RmToMarkdownSerializer serializer) { + if(data.getType() == null) { + serializeFraction(data, serializer); + } else if (data.getType() == ProportionKind.PERCENT.getPk()) { + serializer.append(Double.toString(data.getNumerator())); + serializer.append("%"); + } else { + serializeFraction(data, serializer); + } + + DvQuantifiedUtil.serialize(data, serializer); + //TODO: other formats - maybe just a number sometimes? + } + + private static void serializeFraction(DvProportion data, RmToMarkdownSerializer serializer) { + if(data.getNumerator() == null) { + serializer.append("-"); + } else { + serializer.append(Double.toString(data.getNumerator())); + } + if(data.getDenominator() == null) { + serializer.append("-"); + } else { + serializer.append(Double.toString(data.getDenominator())); + } + } + + @Override + public Class getSerializedClass() { + return DvProportion.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java new file mode 100644 index 000000000..7c27f1225 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java @@ -0,0 +1,21 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvQuantified; +import com.nedap.archie.rm.datavalues.quantity.ReferenceRange; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class DvQuantifiedUtil { + + public static void serialize(DvQuantified data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("Magnitude status"), data.getMagnitudeStatus()); + serializer.appendIfNotNull(I18n.t("Normal range"), data.getNormalRange()); + serializer.appendIfNotNull(I18n.t("Normal status"), data.getNormalStatus()); + if(data.getOtherReferenceRanges() != null) { + for(ReferenceRange refRange:data.getOtherReferenceRanges()) { + serializer.appendIfNotNull(I18n.t("Other Reference ranges"), refRange); + } + } + } +} + diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java new file mode 100644 index 000000000..c054db539 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java @@ -0,0 +1,27 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.DvQuantity; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class DvQuantitySerializer implements RmSerializer { + @Override + public void serialize(DvQuantity data, RmToMarkdownSerializer serializer) { + if(data.getMagnitude() == null) { + serializer.append(I18n.t("no magnitude")); + } else { + serializer.append(Double.toString(data.getMagnitude())); + } + serializer.append(data.getUnits()); + serializer.appendIfNotNull(I18n.t("Units system"), data.getUnitsSystem()); + //TODO: if this is present, replace units, since it will be more human readable? + serializer.appendIfNotNull(I18n.t("Units display name"), data.getUnitsDisplayName()); + DvQuantifiedUtil.serialize(data, serializer); + } + + @Override + public Class getSerializedClass() { + return DvQuantity.class; + } +} \ No newline at end of file diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTextSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTextSerializer.java new file mode 100644 index 000000000..0f5bde211 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTextSerializer.java @@ -0,0 +1,17 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.DvText; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; + +public class DvTextSerializer implements RmSerializer { + @Override + public void serialize(DvText data, RmToMarkdownSerializer serializer) { + serializer.append(data.getValue()); + } + + @Override + public Class getSerializedClass() { + return DvText.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java new file mode 100644 index 000000000..cdc5eebeb --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java @@ -0,0 +1,29 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.datetime.DateTimeSerializerFormatters; +import com.nedap.archie.rm.datavalues.quantity.datetime.DvTime; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +import java.text.DateFormat; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; + +public class DvTimeSerializer implements RmSerializer { + @Override + public void serialize(DvTime data, RmToMarkdownSerializer serializer) { + if(data.getValue() == null) { + serializer.append(I18n.t("no value")); + return; + } + serializer.append(DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT).withLocale(I18n.getCurrentLocale()) + .format(data.getValue())); + DvQuantifiedUtil.serialize(data, serializer); + } + + @Override + public Class getSerializedClass() { + return DvTime.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java new file mode 100644 index 000000000..fbbf8a1be --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java @@ -0,0 +1,23 @@ +package com.nedap.archie.text.serializers.datatypes; + +import com.nedap.archie.rm.datavalues.quantity.ReferenceRange; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class ReferenceRangeSerializer implements RmSerializer { + @Override + public void serialize(ReferenceRange data, RmToMarkdownSerializer serializer) { + serializer.append(data.getRange()); + if(data.getMeaning() != null) { + serializer.appendNewLine(); + serializer.appendIfNotNull(I18n.t("Meaning"), data.getMeaning()); + } + + } + + @Override + public Class getSerializedClass() { + return ReferenceRange.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java new file mode 100644 index 000000000..a40f17bf2 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java @@ -0,0 +1,25 @@ +package com.nedap.archie.text.serializers.demographic; + +import com.nedap.archie.rm.datavalues.DvIdentifier; +import com.nedap.archie.rm.generic.PartyIdentified; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class PartyIdentifiedSerializer implements RmSerializer { + @Override + public void serialize(PartyIdentified data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("Name"), data.getName()); + if(data.getIdentifiers() != null) { + for (DvIdentifier identifier : data.getIdentifiers()) { + serializer.append(identifier); + serializer.appendNewLine(); + } + } + } + + @Override + public Class getSerializedClass() { + return PartyIdentified.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java new file mode 100644 index 000000000..15a585001 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java @@ -0,0 +1,26 @@ +package com.nedap.archie.text.serializers.demographic; + +import com.nedap.archie.rm.datavalues.DvIdentifier; +import com.nedap.archie.rm.generic.PartyRelated; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class PartyRelatedSerializer implements RmSerializer { + @Override + public void serialize(PartyRelated data, RmToMarkdownSerializer serializer) { + serializer.appendIfNotNull(I18n.t("Name"), data.getName()); + serializer.appendIfNotNull(I18n.t("Relationship"), data.getRelationship()); + + if(data.getIdentifiers() != null) { + for(DvIdentifier identifier: data.getIdentifiers()) { + serializer.append(identifier); + } + } + } + + @Override + public Class getSerializedClass() { + return PartyRelated.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java new file mode 100644 index 000000000..b1a8e85d1 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java @@ -0,0 +1,19 @@ +package com.nedap.archie.text.serializers.demographic; + +import com.nedap.archie.rm.generic.PartySelf; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import org.openehr.utils.message.I18n; + +public class PartySelfSerializer implements RmSerializer { + @Override + public void serialize(PartySelf data, RmToMarkdownSerializer serializer) { + serializer.append(I18n.t("The person themselves ")); + serializer.appendNewLine(); + } + + @Override + public Class getSerializedClass() { + return PartySelf.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java new file mode 100644 index 000000000..a00409d09 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java @@ -0,0 +1,24 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.composition.Action; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; +import org.openehr.utils.message.I18n; + +public class ActionSerializer implements RmSerializer { + @Override + public void serialize(Action data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + LocatableUtil.serialize(data, serializer); + serializer.appendIfNotNull(I18n.t("Description"), data.getDescription()); + serializer.appendIfNotNull(I18n.t("Protocol"), data.getProtocol()); + serializer.appendIfNotNull(I18n.t("Instruction details"), data.getInstructionDetails()); + serializer.appendWithHeaderIfNotNull("##### ", I18n.t("State transition"), data.getIsmTransition()); + } + + @Override + public Class getSerializedClass() { + return Action.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/AdminEntrySerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/AdminEntrySerializer.java new file mode 100644 index 000000000..699fe1464 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/AdminEntrySerializer.java @@ -0,0 +1,21 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.composition.AdminEntry; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; + +public class AdminEntrySerializer implements RmSerializer { + @Override + public void serialize(AdminEntry data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + LocatableUtil.serialize(data, serializer); + serializer.append(data.getData()); + serializer.appendNewLine(); + } + + @Override + public Class getSerializedClass() { + return AdminEntry.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/EvaluationSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/EvaluationSerializer.java new file mode 100644 index 000000000..684a5b513 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/EvaluationSerializer.java @@ -0,0 +1,22 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.composition.Evaluation; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; + +public class EvaluationSerializer implements RmSerializer { + @Override + public void serialize(Evaluation data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + LocatableUtil.serialize(data, serializer); + serializer.append(data.getData()); + serializer.appendNewLine(); + serializer.append(data.getProtocol()); + } + + @Override + public Class getSerializedClass() { + return Evaluation.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/GenericEntrySerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/GenericEntrySerializer.java new file mode 100644 index 000000000..204583f0e --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/GenericEntrySerializer.java @@ -0,0 +1,21 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.integration.GenericEntry; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; + +public class GenericEntrySerializer implements RmSerializer { + @Override + public void serialize(GenericEntry data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + LocatableUtil.serialize(data, serializer); + serializer.append(data.getData()); + serializer.appendNewLine(); + } + + @Override + public Class getSerializedClass() { + return GenericEntry.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java new file mode 100644 index 000000000..ba8b442c9 --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java @@ -0,0 +1,32 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.composition.Activity; +import com.nedap.archie.rm.composition.Instruction; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; +import org.openehr.utils.message.I18n; + +public class InstructionSerializer implements RmSerializer { + @Override + public void serialize(Instruction data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + LocatableUtil.serialize(data, serializer); + if(data.getActivities() != null) { + for(Activity activity:data.getActivities()) { + serializer.append(activity); + serializer.appendNewLine(); + } + } + serializer.appendIfNotNull(I18n.t("Protocol"), data.getProtocol()); + serializer.appendIfNotNull(I18n.t("Expiry time"), data.getExpiryTime()); + + + //TODO: wf definition - but we do not know the format here! + } + + @Override + public Class getSerializedClass() { + return Instruction.class; + } +} diff --git a/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java new file mode 100644 index 000000000..f1cb7e60c --- /dev/null +++ b/archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java @@ -0,0 +1,43 @@ +package com.nedap.archie.text.serializers.entries; + +import com.nedap.archie.rm.composition.Observation; +import com.nedap.archie.rm.datastructures.Event; +import com.nedap.archie.rm.datastructures.History; +import com.nedap.archie.rm.datastructures.ItemStructure; +import com.nedap.archie.text.RmSerializer; +import com.nedap.archie.text.RmToMarkdownSerializer; +import com.nedap.archie.text.serializers.LocatableUtil; +import org.openehr.utils.message.I18n; + +public class ObservationSerializer implements RmSerializer { + @Override + public void serialize(Observation data, RmToMarkdownSerializer serializer) { + serializer.append("### "); + + LocatableUtil.serialize(data, serializer); + writeHistory(data.getData(), serializer); + + serializer.appendNewLine(); + writeHistory(data.getState(), serializer); + serializer.append(data.getProtocol()); + } + + private void writeHistory(History data, RmToMarkdownSerializer serializer) { + if(data != null) { + if(data.getEvents() != null) { + for(Event event: data.getEvents()) { + //TODO: event name: probably not interesting, although sometimes it could be! + serializer.appendIfNotNull(I18n.t("Time of observation"), event.getTime()); + serializer.append("\n\n"); + serializer.append(event.getData()); + serializer.append(event.getState()); + } + } + } + } + + @Override + public Class getSerializedClass() { + return Observation.class; + } +} diff --git a/i18n/.DS_Store b/i18n/.DS_Store new file mode 100644 index 000000000..18118d59b Binary files /dev/null and b/i18n/.DS_Store differ diff --git a/i18n/po/i18n_en.po b/i18n/po/i18n_en.po index a4c67a452..4d351410e 100644 --- a/i18n/po/i18n_en.po +++ b/i18n/po/i18n_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 13:45+0200\n" +"POT-Creation-Date: 2023-08-31 15:06+0200\n" "PO-Revision-Date: \n" "Last-Translator: Pieter Bos \n" "Language-Team: \n" @@ -21,7 +21,7 @@ msgstr "" msgid "A cardinality must have an interval - in this case it is null" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:76 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:81 msgid "A closed archetype slot cannot have its includes or excludes assertions modified" msgstr "" @@ -33,20 +33,20 @@ msgstr "" msgid "A redefined value set can only be a subset of its parent value set, nothing can be added" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:76 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:75 msgid "A specialised boolean constraint cannot add a constraint not in its parent" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:71 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:70 msgid "A specialised boolean constraint cannot include the same number of more constraints than its parent" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:217 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:222 #, java-format msgid "A specialized archetype slot must have the same id as the parent id {0}, but it was {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:102 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:107 #, java-format msgid "A {0} cannot specialize a {1}" msgstr "" @@ -60,11 +60,15 @@ msgstr "" msgid "An archetype slot was used in the archetype, but no archetype id was present in the data." msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:320 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:325 #, java-format msgid "An object with the new node id {0} cannot be prohibited" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:15 +msgid "Archetype for action" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/VariousStructureValidation.java:65 #, java-format msgid "Archetype referenced in use_archetype points to class {0}, which does not exist in this reference model" @@ -121,12 +125,12 @@ msgstr "" msgid "Attribute has {0} occurrences, but must be {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:158 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:163 #, java-format msgid "Attribute tuple with members {0} does not conform to parent attribute tuple" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:167 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:172 #, java-format msgid "Attribute {0} is a non-tuple attribute in the parent archetype, but a tuple attribute in the current archetype. That is not allowed" msgstr "" @@ -147,16 +151,20 @@ msgstr "" msgid "Attribute {0}.{1} cannot contain type {2}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:17 +msgid "Audit provider" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:92 msgid "BMM Schema load error" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:284 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:289 #, java-format msgid "C_OBJECT in this archetype with class {0} is prohibited, which means its class must be the same as parent type {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:288 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:293 #, java-format msgid "C_OBJECT in this archetype with node id {0} is prohibited, which means its node id must be the same as parent {1}" msgstr "" @@ -166,7 +174,7 @@ msgstr "" msgid "C_OBJECT with RM type {0} must have a node id" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:65 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:70 msgid "Cannot redefine a closed archetype slot" msgstr "" @@ -174,6 +182,10 @@ msgstr "" msgid "Cardinality must have an interval present, but it was null" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:13 +msgid "Care flow step" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/CodeValidation.java:76 #, java-format msgid "Code {0} from C_TERMINOLOGY_CODE constraint is not defined in the terminology" @@ -195,16 +207,33 @@ msgstr "" msgid "Code {0} is in the terminology, but not used in the archetype" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:145 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:15 +msgid "Composer" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:150 #, java-format msgid "Conformance error: {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:54 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:22 +msgid "Context" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:59 #, java-format msgid "Could not find parent object for {0} but it should have been prechecked. Could you report this as a bug?" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:14 +msgid "Current state" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:14 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:14 +msgid "Description" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/DefinitionStructureValidation.java:67 #, java-format msgid "Differential path must point to a C_ATTRIBUTE in the flat parent, but it pointed instead to a {0}" @@ -238,6 +267,10 @@ msgstr "" msgid "EC Object file not valid" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:15 +msgid "End time" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/ValidationMessage.java:61 msgid "Error" msgstr "" @@ -254,6 +287,18 @@ msgid "" "{4}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:22 +msgid "Expiry time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:19 +msgid "Feeder system audit" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:11 +msgid "Function of participant" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:40 #, java-format msgid "Id code {0} in terminology is not a valid term code, should be id, ac or at, followed by digits" @@ -275,6 +320,10 @@ msgstr "" msgid "Incorrect root node id {0}: it must match the specialization depth of the archetype, which is {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:16 +msgid "Instruction details" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidator.java:131 #, java-format msgid "Invariant {0} failed on type " @@ -285,6 +334,19 @@ msgstr "" msgid "Language {0} is defined in the translations, but is not present in the terminology" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:13 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:12 +msgid "Location" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:11 +msgid "Magnitude status" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java:14 +msgid "Meaning" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:49 #, java-format msgid "Merged schema {0} into schema {1}" @@ -295,6 +357,10 @@ msgstr "" msgid "Message at {0} ({1}): {2}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:12 +msgid "Mode of participation" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:11 #, java-format msgid "Multiple values for Primitive Object constraint {0}: {1}" @@ -305,6 +371,15 @@ msgstr "" msgid "Multiple values for Tuple constraint {0}: {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java:12 +msgid "Name" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "No" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:55 msgid "No ''rm_schemas_load_list'' config setting found; attempting to load all schemas (change via Tools>Options)" msgstr "" @@ -319,7 +394,11 @@ msgstr "" msgid "No matching constraint found in parent for contraint {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java:19 +msgid "No value. Reason: " +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:243 #, java-format msgid "Node ID {0} specialization depth does not conform to the archetype specialization depth {1}" msgstr "" @@ -329,17 +408,17 @@ msgstr "" msgid "Node id {0} already used in path {1}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:282 +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:281 #, java-format msgid "Node id {0} does not conform to {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:294 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 #, java-format msgid "Node id {0} is not valid here" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:304 #, java-format msgid "Node id {0} is not valid here because it redefines an object illegally" msgstr "" @@ -349,6 +428,14 @@ msgstr "" msgid "Node id {0} is used in the archetype, but missing in the terminology" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:12 +msgid "Normal range" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:13 +msgid "Normal status" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:10 #, java-format msgid "Object does not match tuple: {0}" @@ -359,7 +446,7 @@ msgstr "" msgid "Object should be type {0}, but was {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:128 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:133 #, java-format msgid "Object with node id {0} should be specialized before excluding the parent node" msgstr "" @@ -387,7 +474,19 @@ msgstr "" msgid "Original language {0} is not defined in the terminology" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:34 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:11 +msgid "Originating system" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:14 +msgid "Originating system audit" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:16 +msgid "Other Reference ranges" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:39 #, java-format msgid "Parent archetype {0} not found or can not be flattened" msgstr "" @@ -397,10 +496,19 @@ msgstr "" msgid "Parent constraint contains no interval that fully contains {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:14 +msgid "Performer" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:70 msgid "Primitive object specialisation validation failed" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:21 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:15 +msgid "Protocol" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:64 #, java-format msgid "RM Release version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?" @@ -515,6 +623,10 @@ msgstr "" msgid "Reference model schema(s) {0} specified in options not valid or not found in schema directories" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:13 +msgid "Relationship" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:37 #, java-format msgid "Resource description language {0} has an incorrect key: {1}" @@ -680,7 +792,11 @@ msgstr "" msgid "Schema {0} top-level sibling package definitions cannot include a package which is the child of another" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:312 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:16 +msgid "Setting" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:317 #, java-format msgid "Sibling order {0} refers to missing node id" msgstr "" @@ -689,6 +805,19 @@ msgstr "" msgid "Single valued attributes can not have a cardinality" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:14 +msgid "Start time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:12 +msgid "State transition" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:17 +msgid "State transition reason" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:72 #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:73 msgid "Syntax error: existence must be one of 0..0, 0..1, or 1..1" @@ -827,6 +956,10 @@ msgstr "" msgid "The path {0} referenced in the rm visibility does not exist in the flat archetype" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java:11 +msgid "The person themselves " +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:134 #, java-format msgid "The primitive object of type {0} does not conform null" @@ -850,7 +983,7 @@ msgstr "" msgid "The specialisation depth of the archetypes must be one greater than the specialisation depth of the parent archetype" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:227 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:232 #, java-format msgid "The use_archetype with type {0} does not match the archetype slow (allow_archetype) with type {1}" msgstr "" @@ -873,6 +1006,14 @@ msgstr "" msgid "The value {0} must be {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:13 +msgid "Time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java:30 +msgid "Time of observation" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:49 #, java-format msgid "Translation details language {0} has an incorrect key: {1}" @@ -888,6 +1029,14 @@ msgstr "" msgid "Type name {0} does not exist" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:19 +msgid "Units display name" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:17 +msgid "Units system" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:54 #, java-format msgid "Unknown Reference Model ''{0}'' mentioned in ''rm_schemas_load_list'' config setting (ignored)" @@ -906,18 +1055,18 @@ msgstr "" msgid "Use_archetype points to type {0}, which is not conformant for type {1} of the archetype root used" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:207 -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:234 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:212 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:239 #, java-format msgid "Use_archetype references archetype id {0}, but no archetype was found" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:201 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:206 #, java-format msgid "Use_archetype specializes an archetype root pointing to {0}, but the archetype {1} is not a descendant" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:242 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:247 #, java-format msgid "Use_archetype {0} does not match the expression of the archetype slot it specialized in the parent" msgstr "" @@ -945,6 +1094,10 @@ msgstr "" msgid "Warning" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "Yes" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:49 msgid "achetype code specialisation level validity. Each archetype term ('at' code) and constraint code ('ac' code) used in the archetype definition section must have a specialisation level no greater than the specialisation level of the archetype." msgstr "" @@ -1032,22 +1185,22 @@ msgstr "" msgid "cardinality/occurrences upper bound validity: where a cardinality with a finite upper bound is stated on an attribute, for all immediate child objects for which an occurrences constraint is stated, the occurrences must either have an open upper bound (i.e. n..*) which is interpreted as the maximum value allowed within the cardinality, or else a finite upper bound which is ⇐ the cardinality upper bound." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:235 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:234 #, java-format msgid "child CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:280 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:279 #, java-format msgid "child terminology constraint value code {0} does not conform to parent constraint with value code {0}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:264 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:263 #, java-format msgid "child terminology constraint value code {0} is not contained in {1}, or a direct specialization of one of its values" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:260 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:259 #, java-format msgid "child terminology constraint value set code {0} does not conform to parent constraint with value set code {1}" msgstr "" @@ -1103,6 +1256,19 @@ msgstr "" msgid "less than {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java:12 +msgid "no magnitude" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java:18 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java:16 +msgid "no value" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:47 msgid "node id must be defined in flat terminology" msgstr "" @@ -1127,11 +1293,19 @@ msgstr "" msgid "original language specified. An original_language section containing the meta-data of the original authoring language must exist." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:19 +msgid "other details" +msgstr "" + +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:237 #, java-format msgid "parent CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:21 +msgid "participations" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:52 msgid "resource detail key does not match resource detail item language" msgstr "" @@ -1208,7 +1382,7 @@ msgstr "" msgid "specialised object node occurrences validity: the sum of the lower occurrences and the sum of the upper occurrences of all objects redefining a node in a specialised archetype, must be contained in the occurrences interval of the corresponding node in the flat parent archetype." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:244 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:243 #, java-format msgid "specialized CTerminology code constraint status {0} is wider more than parent contraint status {1}" msgstr "" @@ -1230,7 +1404,7 @@ msgid "translations key does not match translations item language" msgstr "" #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:130 -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:285 +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:284 #, java-format msgid "type name {0} does not conform to {1}" msgstr "" diff --git a/i18n/po/i18n_nl.mo b/i18n/po/i18n_nl.mo new file mode 100644 index 000000000..d49f221e9 Binary files /dev/null and b/i18n/po/i18n_nl.mo differ diff --git a/i18n/po/i18n_nl.po b/i18n/po/i18n_nl.po index 2d1fed2d5..72912aead 100644 --- a/i18n/po/i18n_nl.po +++ b/i18n/po/i18n_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 13:45+0200\n" +"POT-Creation-Date: 2023-08-31 15:06+0200\n" "PO-Revision-Date: \n" "Last-Translator: Pieter Bos \n" "Language-Team: \n" @@ -10,18 +10,18 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:56 #, java-format msgid "''rm_schemas_load_list'' config setting mentions non-existent schema {0}" -msgstr "" +msgstr "De instelling ‘’rm_schemas_load_list’’ bevat een schema dat niet bestaat: {0}" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/MultiplicitiesValidation.java:42 msgid "A cardinality must have an interval - in this case it is null" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:76 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:81 msgid "A closed archetype slot cannot have its includes or excludes assertions modified" msgstr "Een gesloten archetype slot kan geen wijzigingen meer bevatten aan de includes en excludes-onderdelen" @@ -33,20 +33,20 @@ msgstr "In dit attribuut is een differential path gebruikt, maar dat is niet toe msgid "A redefined value set can only be a subset of its parent value set, nothing can be added" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:76 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:75 msgid "A specialised boolean constraint cannot add a constraint not in its parent" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:71 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:70 msgid "A specialised boolean constraint cannot include the same number of more constraints than its parent" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:217 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:222 #, java-format msgid "A specialized archetype slot must have the same id as the parent id {0}, but it was {1}" msgstr "Een specialiserend archetype slot moet dezelfde id hebben als in het gespecialiseerde archetype {0}, maar het was {1}" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:102 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:107 #, java-format msgid "A {0} cannot specialize a {1}" msgstr "Een {0} kan niet een {1} specialiseren" @@ -61,11 +61,15 @@ msgstr "ADL-versie {0} is in een incorrect formaat. Dit zou een versie in het fo msgid "An archetype slot was used in the archetype, but no archetype id was present in the data." msgstr "Archetype met id {0} is gebruikt met use_archetype, maar het archetype kon niet worden gevonden" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:320 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:325 #, java-format msgid "An object with the new node id {0} cannot be prohibited" msgstr "Een object met een nieuw node id {0} mag geen occurrences van maximaal 0 hebben" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:15 +msgid "Archetype for action" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/VariousStructureValidation.java:65 #, java-format msgid "Archetype referenced in use_archetype points to class {0}, which does not exist in this reference model" @@ -122,12 +126,12 @@ msgstr "De existence {0} van dit attribuut komt niet overeen met die de existenc msgid "Attribute has {0} occurrences, but must be {1}" msgstr "Attribuut komt {0} keer voor, maar dit moet {1} zijn" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:158 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:163 #, java-format msgid "Attribute tuple with members {0} does not conform to parent attribute tuple" msgstr "Atribuut-tupel met members {0} komt niet overeen met attribuut-tupel dat gespecializeerd wordt" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:167 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:172 #, java-format msgid "Attribute {0} is a non-tuple attribute in the parent archetype, but a tuple attribute in the current archetype. That is not allowed" msgstr "Attribuut {0} is geen tuple in het archetype dat gespecializeerd wordt, maar wel een tuple attribuut in het huidige archetype. Dat is niet toegestaan" @@ -148,16 +152,20 @@ msgstr "Attribuut {0}.{1} kan niet worden beperkt met een {2}" msgid "Attribute {0}.{1} cannot contain type {2}" msgstr "Attribuut {0}.{1} mag geen type {2} bevatten" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:17 +msgid "Audit provider" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:92 msgid "BMM Schema load error" msgstr "Fout bij het laden van een BMM schema" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:284 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:289 #, java-format msgid "C_OBJECT in this archetype with class {0} is prohibited, which means its class must be the same as parent type {1}" msgstr "Het C_OBJECT in dit archetype met klasse {0} heeft 0 als maximum occurrences (prohibited), maar heeft niet dezelfde klasse als het C_OBJECT dat gespecializeerd wordt: {1}" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:288 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:293 #, java-format msgid "C_OBJECT in this archetype with node id {0} is prohibited, which means its node id must be the same as parent {1}" msgstr "Het C_OBJECT in dit archetype met node id {0} heeft 0 als maximum occurrences (prohibited), maar het node id is anders dan die van het C_OBJECT dat gespecialiseerd wordt {1}" @@ -167,7 +175,7 @@ msgstr "Het C_OBJECT in dit archetype met node id {0} heeft 0 als maximum occurr msgid "C_OBJECT with RM type {0} must have a node id" msgstr "C_OBJECT met RM type {0} moet een node id hebben, maar heeft dat niet" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:65 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:70 msgid "Cannot redefine a closed archetype slot" msgstr "Een gesloten archetype slot kan niet worden hergedefinieerd" @@ -175,6 +183,10 @@ msgstr "Een gesloten archetype slot kan niet worden hergedefinieerd" msgid "Cardinality must have an interval present, but it was null" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:13 +msgid "Care flow step" +msgstr "Stap in zorgproces" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/CodeValidation.java:76 #, java-format msgid "Code {0} from C_TERMINOLOGY_CODE constraint is not defined in the terminology" @@ -196,16 +208,33 @@ msgstr "Code {0} van deze C_TERMINOLOGY_CODE bestaat niet in de terminology" msgid "Code {0} is in the terminology, but not used in the archetype" msgstr "Code {0} uit de terminologie is niet gebruikt in de definitie van het archetype" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:145 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:15 +msgid "Composer" +msgstr "Opsteller" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:150 #, java-format msgid "Conformance error: {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:54 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:22 +msgid "Context" +msgstr "Context" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:59 #, java-format msgid "Could not find parent object for {0} but it should have been prechecked. Could you report this as a bug?" msgstr "Kan parent object voor {0} niet vinden. Deze melding is waarschijnlijk een bug, zou u dat kunnen melden?" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:14 +msgid "Current state" +msgstr "Huidige toestand" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:14 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:14 +msgid "Description" +msgstr "Beschrijving" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/DefinitionStructureValidation.java:67 #, java-format msgid "Differential path must point to a C_ATTRIBUTE in the flat parent, but it pointed instead to a {0}" @@ -239,6 +268,10 @@ msgstr "Dubbele instantie van reference model {0} gevonden. Het originele schema msgid "EC Object file not valid" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:15 +msgid "End time" +msgstr "Eindtijd" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/ValidationMessage.java:61 msgid "Error" msgstr "Fout" @@ -255,6 +288,18 @@ msgid "" "{4}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:22 +msgid "Expiry time" +msgstr "Verlooptijd" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:19 +msgid "Feeder system audit" +msgstr "Audit van aanleverend systeem" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:11 +msgid "Function of participant" +msgstr "Functie van de deelnemer" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:40 #, java-format msgid "Id code {0} in terminology is not a valid term code, should be id, ac or at, followed by digits" @@ -276,6 +321,10 @@ msgstr "In het attribuut tupel zijn {0} members opgenomen, maar het primitive tu msgid "Incorrect root node id {0}: it must match the specialization depth of the archetype, which is {1}" msgstr "Fout in root node id {0}: Dit moet kloppen met de specialization depth van het archetype, {1}" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:16 +msgid "Instruction details" +msgstr "Details van de instructie" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidator.java:131 #, java-format msgid "Invariant {0} failed on type " @@ -286,6 +335,19 @@ msgstr "" msgid "Language {0} is defined in the translations, but is not present in the terminology" msgstr "Taal {0} is opgenomen bij de vertalingen, maar ontbreekt in de terminologie" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:13 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:12 +msgid "Location" +msgstr "Locatie" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:11 +msgid "Magnitude status" +msgstr "Status van hoeveelheid" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java:14 +msgid "Meaning" +msgstr "Betekenis" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:49 #, java-format msgid "Merged schema {0} into schema {1}" @@ -296,6 +358,10 @@ msgstr "Schema {0} samengevoegd in schema {1}" msgid "Message at {0} ({1}): {2}" msgstr "Bericht bij {0} ({1}): {2}" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:12 +msgid "Mode of participation" +msgstr "Manier van deelnemen" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:11 #, java-format msgid "Multiple values for Primitive Object constraint {0}: {1}" @@ -306,6 +372,15 @@ msgstr "Meerdere waarden voor Primitive Object constraint {0}: {1}" msgid "Multiple values for Tuple constraint {0}: {1}" msgstr "Meerdere waarden voor Tuple constraint {0}: {1}" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java:12 +msgid "Name" +msgstr "Naam" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "No" +msgstr "Nee" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:55 msgid "No ''rm_schemas_load_list'' config setting found; attempting to load all schemas (change via Tools>Options)" msgstr "" @@ -320,7 +395,11 @@ msgstr "Geen referentiemodel-schema gevonden voor package “{0}”" msgid "No matching constraint found in parent for contraint {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java:19 +msgid "No value. Reason: " +msgstr "Geen waarde. Reden: " + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:243 #, java-format msgid "Node ID {0} specialization depth does not conform to the archetype specialization depth {1}" msgstr "De specialization depth van node id {0} klopt niet bij de specialization depth {1} van het archetype" @@ -330,17 +409,17 @@ msgstr "De specialization depth van node id {0} klopt niet bij de specialization msgid "Node id {0} already used in path {1}" msgstr "Node id {0} is al gebruikt in pad {1}" -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:282 -#, fuzzy, java-format +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:281 +#, java-format msgid "Node id {0} does not conform to {1}" -msgstr "Node id {0} klopt niet bij de node id {1} uit het archetype dat gespecialiseerd wordt" +msgstr "Node id {0} klopt niet met {1}" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:294 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 #, java-format msgid "Node id {0} is not valid here" msgstr "Node id {0} is hier niet geldig" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:304 #, java-format msgid "Node id {0} is not valid here because it redefines an object illegally" msgstr "Node id {0} is hiet niet geldig omdat het een object herdefinieert waar dat niet is toegestaan" @@ -350,6 +429,14 @@ msgstr "Node id {0} is hiet niet geldig omdat het een object herdefinieert waar msgid "Node id {0} is used in the archetype, but missing in the terminology" msgstr "Node id {0} is gebruikt in het archetype, maar ontbreekt in de terminologie" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:12 +msgid "Normal range" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:13 +msgid "Normal status" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:10 #, java-format msgid "Object does not match tuple: {0}" @@ -360,7 +447,7 @@ msgstr "Object komt niet overeen met tupel: {0}" msgid "Object should be type {0}, but was {1}" msgstr "Object moet van type {0} zijn, maar is van type {1}" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:128 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:133 #, java-format msgid "Object with node id {0} should be specialized before excluding the parent node" msgstr "Object met node id {0} moet gespecialiseerd worden voordat de parent node excluded wordt" @@ -388,7 +475,19 @@ msgstr "Originele taal bestaat niet in de terminologie" msgid "Original language {0} is not defined in the terminology" msgstr "Originele taal {0} ontbreekt in de terminologie" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:34 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:11 +msgid "Originating system" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:14 +msgid "Originating system audit" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:16 +msgid "Other Reference ranges" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:39 #, java-format msgid "Parent archetype {0} not found or can not be flattened" msgstr "Parent archetype {0} niet gevonden, of het bevat een fout waardoor het niet kan worden geflattened" @@ -398,10 +497,19 @@ msgstr "Parent archetype {0} niet gevonden, of het bevat een fout waardoor het n msgid "Parent constraint contains no interval that fully contains {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:14 +msgid "Performer" +msgstr "Uitvoerder" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:70 msgid "Primitive object specialisation validation failed" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:21 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:15 +msgid "Protocol" +msgstr "Protocol" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:64 #, java-format msgid "RM Release version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?" @@ -516,6 +624,10 @@ msgstr "" msgid "Reference model schema(s) {0} specified in options not valid or not found in schema directories" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:13 +msgid "Relationship" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:37 #, java-format msgid "Resource description language {0} has an incorrect key: {1}" @@ -681,7 +793,11 @@ msgstr "" msgid "Schema {0} top-level sibling package definitions cannot include a package which is the child of another" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:312 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:16 +msgid "Setting" +msgstr "Setting" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:317 #, java-format msgid "Sibling order {0} refers to missing node id" msgstr "Sibling order {0} verwijst naar een ontbrekende node id" @@ -690,6 +806,19 @@ msgstr "Sibling order {0} verwijst naar een ontbrekende node id" msgid "Single valued attributes can not have a cardinality" msgstr "Attributen die maar één waarde kunnen bevatten mogen geen cardinaliteit hebben" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:14 +msgid "Start time" +msgstr "Starttijd" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:12 +msgid "State transition" +msgstr "Toestandsovergang" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:17 +msgid "State transition reason" +msgstr "Reden van toestandsovergang" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:72 #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:73 msgid "Syntax error: existence must be one of 0..0, 0..1, or 1..1" @@ -733,22 +862,22 @@ msgid "Term binding key {0} points to a path that cannot be found in the archety msgstr "Het pad {0} uit een term binding kan niet worden gevonden in het archetype" #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:19 -#, fuzzy, java-format +#, java-format msgid "The Archetype with id {0} cannot be found" -msgstr "Archetype met id {0} is gebruikt met use_archetype, maar het archetype kon niet worden gevonden" +msgstr "Archetype met id {0} kan niet worden gevonden" #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:31 msgid "The adl_version top-level meta-data item must exist and consist of a valid 3-part version identifier." msgstr "" #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:17 -#, fuzzy, java-format +#, java-format msgid "The archetype id {0} does not match the possible archetype ids." -msgstr "Use_archetype met {0} klopt niet met het archetype slot met type {1} uit het gespecialiseerde archetype" +msgstr "Use_archetype met {0} klopt niet met de mogelijke archetype kids" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicDefinitionObjectValidation.java:40 msgid "The attribute cardinality interval has lower > upper, this is not allowed" -msgstr "" +msgstr "Het attribuut cardinality interval heeft lower > upper. Dat is niet toegestaan" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/FlatFormValidation.java:55 #, java-format @@ -824,9 +953,13 @@ msgid "The path {0} referenced in the annotations does not exist in the flat arc msgstr "Het pad {0} gebruikt in de annotations bestaat niet in het flattened archetype of referentiemodel" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/RmOverlayValidation.java:34 -#, fuzzy, java-format +#, java-format msgid "The path {0} referenced in the rm visibility does not exist in the flat archetype" -msgstr "Het pad {0} gebruikt in de annotations bestaat niet in het flattened archetype" +msgstr "Het pad {0} gebruikt in de rm visibility bestaat niet in het flattened archetype" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java:11 +msgid "The person themselves " +msgstr "De persoon zelf" #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:134 #, java-format @@ -834,9 +967,9 @@ msgid "The primitive object of type {0} does not conform null" msgstr "" #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:136 -#, fuzzy, java-format +#, java-format msgid "The primitive object of type {0} does not conform to non-primitive object with type {1}" -msgstr "Primitive object met RM type {0} klopt niet bij primitive object met RM type {1} in het archetype dat gespecialiseerd wordt" +msgstr "Primitive object met RM type {0} klopt niet bij niet primitief object met type {1}" #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:30 msgid "The rm_release top-level meta-data item must exist and consist of a valid 3-part version identifier." @@ -851,7 +984,7 @@ msgstr "De specialisation depth van het archetype, {0}, moet één groter zijn d msgid "The specialisation depth of the archetypes must be one greater than the specialisation depth of the parent archetype" msgstr "De specialisation depth van het archetype moet één groter zijn dan die van het gespecialiseerde archetype" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:227 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:232 #, java-format msgid "The use_archetype with type {0} does not match the archetype slow (allow_archetype) with type {1}" msgstr "Use_archetype met {0} klopt niet met het archetype slot met type {1} uit het gespecialiseerde archetype" @@ -874,6 +1007,14 @@ msgstr "De waarde {0} moet aan een van de volgende voorwaarden voldoen:" msgid "The value {0} must be {1}" msgstr "De waarde {0} moet {1} zijn" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:13 +msgid "Time" +msgstr "Tijd" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java:30 +msgid "Time of observation" +msgstr "Tijd van observatie" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:49 #, java-format msgid "Translation details language {0} has an incorrect key: {1}" @@ -889,6 +1030,14 @@ msgstr "Onderdeel van tupel {0} is geen attribuut van type {1}" msgid "Type name {0} does not exist" msgstr "Type met naam {0} bestaat niet" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:19 +msgid "Units display name" +msgstr "Weergavenaam van eenheid" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:17 +msgid "Units system" +msgstr "Systeem van eenheid" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:54 #, java-format msgid "Unknown Reference Model ''{0}'' mentioned in ''rm_schemas_load_list'' config setting (ignored)" @@ -907,18 +1056,18 @@ msgstr "" msgid "Use_archetype points to type {0}, which is not conformant for type {1} of the archetype root used" msgstr "Use_archetype verwijst naar een pad met type {0}. Dit komt niet overeen met type {1} zoals opgegeven in use_archetype" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:207 -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:234 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:212 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:239 #, java-format msgid "Use_archetype references archetype id {0}, but no archetype was found" msgstr "Use_archetype verwijst naar archetype met id {0}, maar dit archetype kon niet gevonden worden" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:201 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:206 #, java-format msgid "Use_archetype specializes an archetype root pointing to {0}, but the archetype {1} is not a descendant" msgstr "Use_archetype {1} specialiseert een andere use_archetype die verwijst naar {0}. Maar het archeytpe {1} specialiseert niet {0}" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:242 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:247 #, java-format msgid "Use_archetype {0} does not match the expression of the archetype slot it specialized in the parent" msgstr "Use_archetype {0} komt niet overeen met de restricties van het archetype slot dat het specialiseert" @@ -946,6 +1095,10 @@ msgstr "Use_node, hergebruik van een deel van het archetype, verwijst naar type msgid "Warning" msgstr "Waarschuwing" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "Yes" +msgstr "Ja" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:49 msgid "achetype code specialisation level validity. Each archetype term ('at' code) and constraint code ('ac' code) used in the archetype definition section must have a specialisation level no greater than the specialisation level of the archetype." msgstr "" @@ -1033,25 +1186,25 @@ msgstr "" msgid "cardinality/occurrences upper bound validity: where a cardinality with a finite upper bound is stated on an attribute, for all immediate child objects for which an occurrences constraint is stated, the occurrences must either have an open upper bound (i.e. n..*) which is interpreted as the maximum value allowed within the cardinality, or else a finite upper bound which is ⇐ the cardinality upper bound." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:235 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:234 #, java-format msgid "child CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:280 -#, fuzzy, java-format +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:279 +#, java-format msgid "child terminology constraint value code {0} does not conform to parent constraint with value code {0}" -msgstr "De cardinaliteit {0} van dit attribuut komt niet overeen met de cardinaliteit van het attribuut dat gespecializeerd wordt: {1}" +msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:264 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:263 #, java-format msgid "child terminology constraint value code {0} is not contained in {1}, or a direct specialization of one of its values" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:260 -#, fuzzy, java-format +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:259 +#, java-format msgid "child terminology constraint value set code {0} does not conform to parent constraint with value set code {1}" -msgstr "De cardinaliteit {0} van dit attribuut komt niet overeen met de cardinaliteit van het attribuut dat gespecializeerd wordt: {1}" +msgstr "" #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:84 msgid "code in terminology not used in archetype definition" @@ -1104,6 +1257,19 @@ msgstr "" msgid "less than {0}" msgstr "kleiner dan {0}" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java:12 +msgid "no magnitude" +msgstr "geen waarde" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java:18 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java:16 +msgid "no value" +msgstr "geen waarde" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:47 msgid "node id must be defined in flat terminology" msgstr "node id ontbreekt in de flat terminologie" @@ -1128,11 +1294,19 @@ msgstr "" msgid "original language specified. An original_language section containing the meta-data of the original authoring language must exist." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:19 +msgid "other details" +msgstr "verdere details" + +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:237 #, java-format msgid "parent CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:21 +msgid "participations" +msgstr "deelnemers" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:52 msgid "resource detail key does not match resource detail item language" msgstr "" @@ -1209,7 +1383,7 @@ msgstr "" msgid "specialised object node occurrences validity: the sum of the lower occurrences and the sum of the upper occurrences of all objects redefining a node in a specialised archetype, must be contained in the occurrences interval of the corresponding node in the flat parent archetype." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:244 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:243 #, java-format msgid "specialized CTerminology code constraint status {0} is wider more than parent contraint status {1}" msgstr "" @@ -1231,10 +1405,10 @@ msgid "translations key does not match translations item language" msgstr "" #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:130 -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:285 -#, fuzzy, java-format +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:284 +#, java-format msgid "type name {0} does not conform to {1}" -msgstr "Type {0} klopt niet met type {1} uit het gespecialiseerde archetype" +msgstr "Typenaam {0} klopt niet met {1}" #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:77 msgid "use_node path validity: the path mentioned in a use_node statement must refer to an object node defined elsewhere in the same archetype or any of its specialisation parent archetypes, that is not itself an internal reference node, and which carries a node identifier if one is needed at the reference point." @@ -1259,9 +1433,9 @@ msgstr "" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:119 #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:123 -#, fuzzy, java-format +#, java-format msgid "value code {0} is used in value set {1}, but not present in terminology" -msgstr "de code {0} van een value bestaat niet in de terminologie" +msgstr "de waarde-code {0} is gebruikt in waarde {1}, maar is niet aanwezig in de terminologie" #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:48 msgid "value set assumed value code validity. Each value code (at-code) used as an assumed_value for a value set in a term constraint in the archetype definition must exist in the value set definition in the terminology for the identified value set." @@ -1274,9 +1448,9 @@ msgstr "de code {0} van een value set bestaat niet in de terminologie" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:110 #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:114 -#, fuzzy, java-format +#, java-format msgid "value set code {0} is used in value set {1}, but not present in terminology" -msgstr "de code {0} van een value set bestaat niet in de terminologie" +msgstr "de waardeset-code {0} is gebruikt in waardeset {1}, maar is niet aanwezig in de terminologie" #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:136 #, java-format diff --git a/i18n/po/keys.pot b/i18n/po/keys.pot index 317d2c55c..20508c93b 100644 --- a/i18n/po/keys.pot +++ b/i18n/po/keys.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 13:45+0200\n" +"POT-Creation-Date: 2023-08-31 15:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,7 +26,7 @@ msgstr "" msgid "A cardinality must have an interval - in this case it is null" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:76 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:81 msgid "A closed archetype slot cannot have its includes or excludes assertions modified" msgstr "" @@ -38,20 +38,20 @@ msgstr "" msgid "A redefined value set can only be a subset of its parent value set, nothing can be added" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:76 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:75 msgid "A specialised boolean constraint cannot add a constraint not in its parent" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:71 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CBoolean.java:70 msgid "A specialised boolean constraint cannot include the same number of more constraints than its parent" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:217 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:222 #, java-format msgid "A specialized archetype slot must have the same id as the parent id {0}, but it was {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:102 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:107 #, java-format msgid "A {0} cannot specialize a {1}" msgstr "" @@ -65,11 +65,15 @@ msgstr "" msgid "An archetype slot was used in the archetype, but no archetype id was present in the data." msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:320 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:325 #, java-format msgid "An object with the new node id {0} cannot be prohibited" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:15 +msgid "Archetype for action" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/VariousStructureValidation.java:65 #, java-format msgid "Archetype referenced in use_archetype points to class {0}, which does not exist in this reference model" @@ -126,12 +130,12 @@ msgstr "" msgid "Attribute has {0} occurrences, but must be {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:158 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:163 #, java-format msgid "Attribute tuple with members {0} does not conform to parent attribute tuple" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:167 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:172 #, java-format msgid "Attribute {0} is a non-tuple attribute in the parent archetype, but a tuple attribute in the current archetype. That is not allowed" msgstr "" @@ -152,16 +156,20 @@ msgstr "" msgid "Attribute {0}.{1} cannot contain type {2}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:17 +msgid "Audit provider" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:92 msgid "BMM Schema load error" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:284 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:289 #, java-format msgid "C_OBJECT in this archetype with class {0} is prohibited, which means its class must be the same as parent type {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:288 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:293 #, java-format msgid "C_OBJECT in this archetype with node id {0} is prohibited, which means its node id must be the same as parent {1}" msgstr "" @@ -171,7 +179,7 @@ msgstr "" msgid "C_OBJECT with RM type {0} must have a node id" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:65 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:70 msgid "Cannot redefine a closed archetype slot" msgstr "" @@ -179,6 +187,10 @@ msgstr "" msgid "Cardinality must have an interval present, but it was null" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:13 +msgid "Care flow step" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/CodeValidation.java:76 #, java-format msgid "Code {0} from C_TERMINOLOGY_CODE constraint is not defined in the terminology" @@ -200,16 +212,33 @@ msgstr "" msgid "Code {0} is in the terminology, but not used in the archetype" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:145 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:15 +msgid "Composer" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:150 #, java-format msgid "Conformance error: {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:54 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/CompositionSerializer.java:22 +msgid "Context" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:59 #, java-format msgid "Could not find parent object for {0} but it should have been prechecked. Could you report this as a bug?" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:14 +msgid "Current state" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:14 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/ActivitySerializer.java:14 +msgid "Description" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/DefinitionStructureValidation.java:67 #, java-format msgid "Differential path must point to a C_ATTRIBUTE in the flat parent, but it pointed instead to a {0}" @@ -243,6 +272,10 @@ msgstr "" msgid "EC Object file not valid" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:15 +msgid "End time" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/ValidationMessage.java:61 msgid "Error" msgstr "" @@ -259,6 +292,18 @@ msgid "" "{4}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:22 +msgid "Expiry time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:19 +msgid "Feeder system audit" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:11 +msgid "Function of participant" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/BasicTerminologyValidation.java:40 #, java-format msgid "Id code {0} in terminology is not a valid term code, should be id, ac or at, followed by digits" @@ -280,6 +325,10 @@ msgstr "" msgid "Incorrect root node id {0}: it must match the specialization depth of the archetype, which is {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:16 +msgid "Instruction details" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidator.java:131 #, java-format msgid "Invariant {0} failed on type " @@ -290,6 +339,19 @@ msgstr "" msgid "Language {0} is defined in the translations, but is not present in the terminology" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:13 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:12 +msgid "Location" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:11 +msgid "Magnitude status" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/ReferenceRangeSerializer.java:14 +msgid "Meaning" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:49 #, java-format msgid "Merged schema {0} into schema {1}" @@ -300,6 +362,10 @@ msgstr "" msgid "Message at {0} ({1}): {2}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:12 +msgid "Mode of participation" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:11 #, java-format msgid "Multiple values for Primitive Object constraint {0}: {1}" @@ -310,6 +376,15 @@ msgstr "" msgid "Multiple values for Tuple constraint {0}: {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyIdentifiedSerializer.java:12 +msgid "Name" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "No" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:55 msgid "No ''rm_schemas_load_list'' config setting found; attempting to load all schemas (change via Tools>Options)" msgstr "" @@ -324,7 +399,11 @@ msgstr "" msgid "No matching constraint found in parent for contraint {0}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ElementSerializer.java:19 +msgid "No value. Reason: " +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:243 #, java-format msgid "Node ID {0} specialization depth does not conform to the archetype specialization depth {1}" msgstr "" @@ -334,17 +413,17 @@ msgstr "" msgid "Node id {0} already used in path {1}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:282 +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:281 #, java-format msgid "Node id {0} does not conform to {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:294 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 #, java-format msgid "Node id {0} is not valid here" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:299 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:304 #, java-format msgid "Node id {0} is not valid here because it redefines an object illegally" msgstr "" @@ -354,6 +433,14 @@ msgstr "" msgid "Node id {0} is used in the archetype, but missing in the terminology" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:12 +msgid "Normal range" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:13 +msgid "Normal status" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/rmobjectvalidator/RMObjectValidationMessageIds.java:10 #, java-format msgid "Object does not match tuple: {0}" @@ -364,7 +451,7 @@ msgstr "" msgid "Object should be type {0}, but was {1}" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:128 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:133 #, java-format msgid "Object with node id {0} should be specialized before excluding the parent node" msgstr "" @@ -392,7 +479,19 @@ msgstr "" msgid "Original language {0} is not defined in the terminology" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:34 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:11 +msgid "Originating system" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditSerializer.java:14 +msgid "Originating system audit" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantifiedUtil.java:16 +msgid "Other Reference ranges" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:39 #, java-format msgid "Parent archetype {0} not found or can not be flattened" msgstr "" @@ -402,10 +501,19 @@ msgstr "" msgid "Parent constraint contains no interval that fully contains {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:14 +msgid "Performer" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:70 msgid "Primitive object specialisation validation failed" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/InstructionSerializer.java:21 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:15 +msgid "Protocol" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:64 #, java-format msgid "RM Release version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?" @@ -520,6 +628,10 @@ msgstr "" msgid "Reference model schema(s) {0} specified in options not valid or not found in schema directories" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartyRelatedSerializer.java:13 +msgid "Relationship" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:37 #, java-format msgid "Resource description language {0} has an incorrect key: {1}" @@ -685,7 +797,11 @@ msgstr "" msgid "Schema {0} top-level sibling package definitions cannot include a package which is the child of another" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:312 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:16 +msgid "Setting" +msgstr "" + +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:317 #, java-format msgid "Sibling order {0} refers to missing node id" msgstr "" @@ -694,6 +810,19 @@ msgstr "" msgid "Single valued attributes can not have a cardinality" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:14 +msgid "Start time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ActionSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:12 +msgid "State transition" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/action/IsmTransitionSerializer.java:17 +msgid "State transition reason" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:72 #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:73 msgid "Syntax error: existence must be one of 0..0, 0..1, or 1..1" @@ -832,6 +961,10 @@ msgstr "" msgid "The path {0} referenced in the rm visibility does not exist in the flat archetype" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/demographic/PartySelfSerializer.java:11 +msgid "The person themselves " +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:134 #, java-format msgid "The primitive object of type {0} does not conform null" @@ -855,7 +988,7 @@ msgstr "" msgid "The specialisation depth of the archetypes must be one greater than the specialisation depth of the parent archetype" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:227 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:232 #, java-format msgid "The use_archetype with type {0} does not match the archetype slow (allow_archetype) with type {1}" msgstr "" @@ -878,6 +1011,14 @@ msgstr "" msgid "The value {0} must be {1}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/ParticipationSerializer.java:13 +msgid "Time" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/entries/ObservationSerializer.java:30 +msgid "Time of observation" +msgstr "" + #: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/AuthoredArchetypeMetadataChecks.java:49 #, java-format msgid "Translation details language {0} has an incorrect key: {1}" @@ -893,6 +1034,14 @@ msgstr "" msgid "Type name {0} does not exist" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:19 +msgid "Units display name" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:17 +msgid "Units system" +msgstr "" + #: ../bmm/src/main/java/org/openehr/bmm/persistence/validation/BmmMessageIds.java:54 #, java-format msgid "Unknown Reference Model ''{0}'' mentioned in ''rm_schemas_load_list'' config setting (ignored)" @@ -911,18 +1060,18 @@ msgstr "" msgid "Use_archetype points to type {0}, which is not conformant for type {1} of the archetype root used" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:207 -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:234 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:212 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:239 #, java-format msgid "Use_archetype references archetype id {0}, but no archetype was found" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:201 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:206 #, java-format msgid "Use_archetype specializes an archetype root pointing to {0}, but the archetype {1} is not a descendant" msgstr "" -#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:242 +#: ../tools/src/main/java/com/nedap/archie/archetypevalidator/validations/SpecializedDefinitionValidation.java:247 #, java-format msgid "Use_archetype {0} does not match the expression of the archetype slot it specialized in the parent" msgstr "" @@ -950,6 +1099,10 @@ msgstr "" msgid "Warning" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:15 +msgid "Yes" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:49 msgid "achetype code specialisation level validity. Each archetype term ('at' code) and constraint code ('ac' code) used in the archetype definition section must have a specialisation level no greater than the specialisation level of the archetype." msgstr "" @@ -1037,22 +1190,22 @@ msgstr "" msgid "cardinality/occurrences upper bound validity: where a cardinality with a finite upper bound is stated on an attribute, for all immediate child objects for which an occurrences constraint is stated, the occurrences must either have an open upper bound (i.e. n..*) which is interpreted as the maximum value allowed within the cardinality, or else a finite upper bound which is ⇐ the cardinality upper bound." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:235 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:234 #, java-format msgid "child CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:280 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:279 #, java-format msgid "child terminology constraint value code {0} does not conform to parent constraint with value code {0}" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:264 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:263 #, java-format msgid "child terminology constraint value code {0} is not contained in {1}, or a direct specialization of one of its values" msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:260 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:259 #, java-format msgid "child terminology constraint value set code {0} does not conform to parent constraint with value set code {1}" msgstr "" @@ -1108,6 +1261,19 @@ msgstr "" msgid "less than {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvQuantitySerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvCountSerializer.java:12 +msgid "no magnitude" +msgstr "" + +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvBooleanSerializer.java:12 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvTimeSerializer.java:17 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDateTimeSerializer.java:18 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/datatypes/DvDurationSerializer.java:16 +msgid "no value" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:47 msgid "node id must be defined in flat terminology" msgstr "" @@ -1132,11 +1298,19 @@ msgstr "" msgid "original language specified. An original_language section containing the meta-data of the original authoring language must exist." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:238 +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/audit/FeederAuditDetailsSerializer.java:19 +msgid "other details" +msgstr "" + +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:237 #, java-format msgid "parent CTerminology code contains more than one constraint, that is not valid. Constraints are: {0}" msgstr "" +#: ../archie-utils/src/main/java/com/nedap/archie/text/serializers/EventContextSerializer.java:21 +msgid "participations" +msgstr "" + #: ../aom/src/main/java/com/nedap/archie/archetypevalidator/ErrorType.java:52 msgid "resource detail key does not match resource detail item language" msgstr "" @@ -1213,7 +1387,7 @@ msgstr "" msgid "specialised object node occurrences validity: the sum of the lower occurrences and the sum of the upper occurrences of all objects redefining a node in a specialised archetype, must be contained in the occurrences interval of the corresponding node in the flat parent archetype." msgstr "" -#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:244 +#: ../aom/src/main/java/com/nedap/archie/aom/primitives/CTerminologyCode.java:243 #, java-format msgid "specialized CTerminology code constraint status {0} is wider more than parent contraint status {1}" msgstr "" @@ -1235,7 +1409,7 @@ msgid "translations key does not match translations item language" msgstr "" #: ../aom/src/main/java/com/nedap/archie/aom/CPrimitiveObject.java:130 -#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:285 +#: ../aom/src/main/java/com/nedap/archie/aom/CObject.java:284 #, java-format msgid "type name {0} does not conform to {1}" msgstr "" diff --git a/i18n/src/main/java/openehrArchie_nl.java b/i18n/src/main/java/openehrArchie_nl.java index 445f7149f..bff2eb7f4 100644 --- a/i18n/src/main/java/openehrArchie_nl.java +++ b/i18n/src/main/java/openehrArchie_nl.java @@ -2,268 +2,354 @@ public class openehrArchie_nl extends java.util.ResourceBundle { private static final java.lang.String[] table; static { - java.lang.String[] t = new java.lang.String[574]; + java.lang.String[] t = new java.lang.String[586]; t[0] = ""; - t[1] = "Project-Id-Version: \nReport-Msgid-Bugs-To: \nPO-Revision-Date: \nLast-Translator: Pieter Bos \nLanguage-Team: \nLanguage: nl\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 2.4.2\n"; - t[4] = "The value {0} must be {1}"; - t[5] = "De waarde {0} moet {1} zijn"; - t[6] = "code in terminology not used in archetype definition"; - t[7] = "code uit terminologie is niet gebruikt in de definitie van het archetype"; - t[8] = "Term binding key {0} points to a path that cannot be found in the archetype"; - t[9] = "Het pad {0} uit een term binding kan niet worden gevonden in het archetype"; - t[14] = "Could not find parent object for {0} but it should have been prechecked. Could you report this as a bug?"; - t[15] = "Kan parent object voor {0} niet vinden. Deze melding is waarschijnlijk een bug, zou u dat kunnen melden?"; - t[22] = "value code validity. Each value code (at-code) used in a term constraint in the archetype definition must be defined in the term_definitions part of the terminology of the flattened form of the current archetype."; - t[23] = "Geldigheid van een value code. Elke value code (at-code) gebruikt in een term constraint in de definitie van het archetype moet in de term definities van de flat form van dit archetype opgenomen zijn."; - t[24] = "Multiple values for Primitive Object constraint {0}: {1}"; - t[25] = "Meerdere waarden voor Primitive Object constraint {0}: {1}"; - t[28] = "Template overlay {0} had validation errors"; - t[29] = "Template overlay {0} heeft validatiefouten"; - t[30] = "Parent archetype {0} not found or can not be flattened"; - t[31] = "Parent archetype {0} niet gevonden, of het bevat een fout waardoor het niet kan worden geflattened"; - t[32] = "The existence {0} of attribute {2}.{3} does not match existence {1} of the reference model"; - t[33] = "De existence {0} van attribuut {2}.{3} klopt niet bij existence {1} van het referentiemodel"; - t[34] = "Assumed value {0} from the C_TERMINOLOGY_CODE is not part of value set {1}. Expected one of {2}"; - t[35] = "De assumed value {0} van de C_TERMINOLOGY_CODE is geen onderdeel van value set/codelijst {1}. Verwacht was een van de codes {2}"; - t[46] = "Merged schema {0} into schema {1}"; - t[47] = "Schema {0} samengevoegd in schema {1}"; - t[48] = "Syntax error: existence must be one of 0..0, 0..1, or 1..1"; - t[49] = "Syntaxfout: existence moet een van 0..0, 0..1 of 1..1 zijn"; - t[50] = "The use_archetype with type {0} does not match the archetype slow (allow_archetype) with type {1}"; - t[51] = "Use_archetype met {0} klopt niet met het archetype slot met type {1} uit het gespecialiseerde archetype"; - t[54] = "A {0} cannot specialize a {1}"; - t[55] = "Een {0} kan niet een {1} specialiseren"; - t[58] = "RM Release version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?"; - t[59] = "Het formaat van de RM release version {0} klopt niet. dit moet in het formaat x.x.x-(rc|alpha(x)?)? zijn"; - t[62] = "value set code {0} is not present in terminology"; - t[63] = "de code {0} van een value set bestaat niet in de terminologie"; - t[66] = "Tuple member attribute {0} is not an attribute of type {1}"; - t[67] = "Onderdeel van tupel {0} is geen attribuut van type {1}"; - t[68] = "Attribute cardinality {0} does not conform to parent cardinality {1}"; - t[69] = "De cardinaliteit {0} van dit attribuut komt niet overeen met de cardinaliteit van het attribuut dat gespecializeerd wordt: {1}"; - t[72] = "Attribute tuple with members {0} does not conform to parent attribute tuple"; - t[73] = "Atribuut-tupel met members {0} komt niet overeen met attribuut-tupel dat gespecializeerd wordt"; - t[74] = "Multiple values for Tuple constraint {0}: {1}"; - t[75] = "Meerdere waarden voor Tuple constraint {0}: {1}"; - t[80] = "The validation of a template overlay failed"; - t[81] = "De validate van een template overlay is niet geslaagd"; - t[82] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to a path that resolves to more than one object"; - t[83] = "Use_node, hergebruik van een deel van het archetype, verwijst naar een pad dat verwijst naar meer dan \u00e9\u00e9n object"; - t[84] = "value-set members defined. The member codes of a value set must be defined in the term definitions of the terminology of the flattened form of the current archetype"; - t[85] = "value-set waardes gedefinieerd. De waardes uit een value-set moeten in de terminology opgenomen zijn van de flat form van dit archetype."; - t[94] = "an error occurred that has no standard codes"; - t[95] = "er is een fout opgetreden zonder standaard-code"; - t[100] = "Code {0} from C_TERMINOLOGY_CODE constraint is not defined in the terminology"; - t[101] = "Code {0} van deze C_TERMINOLOGY_CODE bestaat niet in de terminologie"; - t[106] = "{0} is not a known attribute of {1}"; - t[107] = "{0} is niet een bekend attribuut van {1}"; - t[108] = "Use_archetype {0} does not match the expression of the archetype slot it specialized in the parent"; - t[109] = "Use_archetype {0} komt niet overeen met de restricties van het archetype slot dat het specialiseert"; - t[110] = "The value {0} must be one of:"; - t[111] = "De waarde {0} moet aan een van de volgende voorwaarden voldoen:"; - t[112] = "Attribute existence is {0}, which does not conform to parent existince {1}"; - t[113] = "De existence {0} van dit attribuut komt niet overeen met die de existence van het attribuut dat gespecializeerd wordt: {1}"; - t[114] = "BMM Schema load error"; - t[115] = "Fout bij het laden van een BMM schema"; - t[118] = "Object does not match tuple: {0}"; - t[119] = "Object komt niet overeen met tupel: {0}"; - t[122] = "A differential path was used in an attribute, but this is not allowed in an archetype that has no parent"; - t[123] = "In dit attribuut is een differential path gebruikt, maar dat is niet toegestaan in een niet specialiserend archetype"; - t[126] = "Object should be type {0}, but was {1}"; - t[127] = "Object moet van type {0} zijn, maar is van type {1}"; - t[128] = "The occurrences upper limit of the C_OBJECT {0} was {1}, which is greater than the parent attribute cardinality {2}"; - t[129] = "De bovenste limiet van de occurrences van dit C_OBJECT {0} was {1}. Dat is groter dan de cardinaliteit van het attribuut dat deze C_OBJECT bevat, {2}"; - t[140] = "value-set id defined. The identifying code of a value set must be defined in the term definitions of the terminology of the current archetype"; - t[141] = "value-set id gedefinieerd. De identificerende code van een value set moet in de termdefinities van de terminologie van dit archetype opgenomen zijn."; - t[142] = "The cardinality of Attribute {0}.{1} is the same as in the reference model - this is not allowed due to strict multiplicities validation being enabled"; - t[143] = "De cardinaliteit van attribuut {0}.{1} is hetzelfde als in het referentiemodel. Dit is niet toegestaan als strikte validatie is ingeschakeld"; - t[144] = "A closed archetype slot cannot have its includes or excludes assertions modified"; - t[145] = "Een gesloten archetype slot kan geen wijzigingen meer bevatten aan de includes en excludes-onderdelen"; - t[150] = "{0} and {1}"; - t[151] = "{0} en {1}"; - t[158] = "Error in parent archetype. Fix those errors before continuing with this archetype: {0}"; - t[159] = "Fout in het gespecialiseerde archetype. Los deze fout in het bovenliggende archetype eerst op, alvorens verder te gaan met dit archetype. De gevonden fouten: {0}"; - t[162] = "C_OBJECT in this archetype with class {0} is prohibited, which means its class must be the same as parent type {1}"; - t[163] = "Het C_OBJECT in dit archetype met klasse {0} heeft 0 als maximum occurrences (prohibited), maar heeft niet dezelfde klasse als het C_OBJECT dat gespecializeerd wordt: {1}"; - t[166] = "Duplicate instance of Reference Model model {0} found; original schema {1}; ignoring instance from schema {2}"; - t[167] = "Dubbele instantie van reference model {0} gevonden. Het originele schema is {1}. Het schema van instantie {2} wordt genegeerd"; - t[180] = "An object with the new node id {0} cannot be prohibited"; - t[181] = "Een object met een nieuw node id {0} mag geen occurrences van maximaal 0 hebben"; - t[182] = "Attribute {0}.{1} cannot be constrained by a {2}"; - t[183] = "Attribuut {0}.{1} kan niet worden beperkt met een {2}"; - t[186] = "Original language not defined in terminology"; - t[187] = "Originele taal bestaat niet in de terminologie"; - t[190] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to type {0}, which does not conform to type {1}"; - t[191] = "Use_node, hergebruik van een deel van het archetype, verwijst naar type {0}, maar dat klopt niet met type {1} zoals gevonden uit het pad"; - t[202] = "greater than {0}"; - t[203] = "groter dan {0}"; - t[210] = "Use_archetype specializes an archetype root pointing to {0}, but the archetype {1} is not a descendant"; - t[211] = "Use_archetype {1} specialiseert een andere use_archetype die verwijst naar {0}. Maar het archeytpe {1} specialiseert niet {0}"; - t[216] = "Use_archetype points to type {0}, which is not conformant for type {1} of the archetype root used"; - t[217] = "Use_archetype verwijst naar een pad met type {0}. Dit komt niet overeen met type {1} zoals opgegeven in use_archetype"; - t[222] = "Use_archetype references archetype id {0}, but no archetype was found"; - t[223] = "Use_archetype verwijst naar archetype met id {0}, maar dit archetype kon niet gevonden worden"; - t[228] = "Language {0} is defined in the translations, but is not present in the terminology"; - t[229] = "Taal {0} is opgenomen bij de vertalingen, maar ontbreekt in de terminologie"; - t[236] = "The specialisation depth of the archetypes must be one greater than the specialisation depth of the parent archetype"; - t[237] = "De specialisation depth van het archetype moet \u00e9\u00e9n groter zijn dan die van het gespecialiseerde archetype"; - t[242] = "Attribute {0}.{1} cannot contain type {2}"; - t[243] = "Attribuut {0}.{1} mag geen type {2} bevatten"; - t[250] = "Node id {0} is not valid here because it redefines an object illegally"; - t[251] = "Node id {0} is hiet niet geldig omdat het een object herdefinieert waar dat niet is toegestaan"; - t[256] = "The path {0} referenced in the annotations does not exist in the flat archetype or reference model"; - t[257] = "Het pad {0} gebruikt in de annotations bestaat niet in het flattened archetype of referentiemodel"; - t[262] = "Original language {0} is not defined in the terminology"; - t[263] = "Originele taal {0} ontbreekt in de terminologie"; - t[268] = "Archetype terminology not defined"; - t[269] = "Archetype terminology ontbreekt"; - t[270] = "The attribute contains {0} objects that are required, but only has an upper cardinality of {1}"; - t[271] = "Het attribuut bevat {0} waarden die verplicht zijn, maar heeft een maximale cardinaliteit van {1}"; - t[282] = "empty"; - t[283] = "leeg"; - t[284] = "Code {0} is in the terminology, but not used in the archetype"; - t[285] = "Code {0} uit de terminologie is niet gebruikt in de definitie van het archetype"; - t[294] = "The code specialization depth of code {0} is {1}, which is greater than archetype specialization depth {2}"; - t[295] = "De specialization depth of code {0} is {1}, maar mag niet groter zijn dan {2}, de specialization depth van het archetype"; - t[300] = "The validation of the parent archetype failed"; - t[301] = "Het bovenliggende archetype bevat een fout, en valideert daardoor niet. Daardoor kan dit archetype niet gevalideerd worden."; - t[302] = "No Reference Model schema found for package ''{0}''"; - t[303] = "Geen referentiemodel-schema gevonden voor package \u201c{0}\u201d"; - t[304] = "The existence of attribute {0}.{1} is the same as in the reference model - this is not allowed due to strict existence validation being enabled"; - t[305] = "De existence van attribuut {0}.{1} is hetzelfde als in het referentiemodel. Dit is niet toegestaan als strikte validatie ingeschakeld is"; - t[308] = "Schema {0} archetype parent class {1} not defined in schema"; - t[309] = "Schema {0} archetype parent class {1} niet gedefinieerd in schema"; - t[312] = "equal to {0}"; - t[313] = "gelijk aan {0}"; - t[316] = "A specialized archetype slot must have the same id as the parent id {0}, but it was {1}"; - t[317] = "Een specialiserend archetype slot moet dezelfde id hebben als in het gespecialiseerde archetype {0}, maar het was {1}"; - t[320] = "Term binding key {0} is not present in the terminology"; - t[321] = "De code {0} van een term binding bestaat niet in de terminologie"; - t[326] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to a path that cannot be found: {0}"; - t[327] = "Use_node, hergebruik van een deel van het archetype, verwijst naar een pad dat niet kan worden gevonden: {0}"; - t[328] = "Reference Model BMM schema {0} incompatible with current release {1} of the tool; obtain up to date schemas"; - t[329] = "Bmm Schema {0} kan niet worden geladen met versie {1} van deze software"; - t[332] = "anything"; - t[333] = "willekeurig"; - t[336] = "The occurrences of all C_OBJECTS under this attributes is at least {0}, which does not fit in the upper limit of the cardinality of the attribute, {1}"; - t[337] = "De occurrences van alle C_OBJECTS onder dit attribuut is ten minste {0}. Dat past niet in de maximale cardinaliteit van het attibruut {1}"; - t[340] = "Syntax error: terminology not specified"; - t[341] = "Syntaxfout: terminologie ontbreekt"; - t[342] = "Archetype referenced in use_archetype points to class {0}, which does not exist in this reference model"; - t[343] = "Het archetype waarnaar use_archetype verwijst, verwijst naar klasse {0}. Deze klasse bestaat niet in het referentiemodel"; - t[352] = "the given id code is not valid"; - t[353] = "de gegeven id code is niet geldig"; - t[354] = "Id code {0} in terminology is not a valid term code, should be id, ac or at, followed by digits"; - t[355] = "Id code {0} in de terminology is geen geldige term-code. De code zou moeten beginnen met id, ac of at, gevolgd door getallen"; - t[356] = "Archetype root must have an archetype reference or be prohibited (occurrences matches 0)"; - t[357] = "Use_archetype moet verwijzen naar een archetype, of beperkt zijn tot occurrences 0"; - t[358] = "Sibling order {0} refers to missing node id"; - t[359] = "Sibling order {0} verwijst naar een ontbrekende node id"; - t[360] = "Documentation"; - t[361] = "Documentatie"; - t[362] = "at least {0}"; - t[363] = "minimaal {0}"; - t[370] = "Code {0} from the C_TERMINOLOGY_CODE constraint has specialization depth {1}, but this must be no greater than {2}"; - t[371] = "Code {0} van de C_TERMINOLOGY_CODE heeft specialization depth {1}, maar dit mag niet groter dan {2} zijn voor dit archetype"; - t[372] = "Error"; - t[373] = "Fout"; - t[380] = "C_OBJECT with RM type {0} must have a node id"; - t[381] = "C_OBJECT met RM type {0} moet een node id hebben, maar heeft dat niet"; - t[382] = "at most {0}"; - t[383] = "maximaal {0}"; - t[384] = "The node_id of the root object of the archetype must be of the form id1'{.1}'*, where the number of .1 components equals the specalisation depth, and must be defined in the terminology"; - t[385] = "De node id van het bovenste object van het archetype moet van de form id'{.1}'* zijn, waar het aantal van .1 onderdelen gelijk is aan de specialization depth, and de code moet bestaan in de terminologie"; - t[386] = "Syntax error: existence must be one of 0..0, 0..1, or 1..1, but was {0}"; - t[387] = "Syntaxfout: existence moet een van 0..0, 0..1 of 1..1 zijn, maar was {0}"; - t[394] = "Message at {0} ({1}): {2}"; - t[395] = "Bericht bij {0} ({1}): {2}"; - t[396] = "RM type in id {0} does not match RM type in definition {1}"; - t[397] = "Reference model type {0} correspondeert niet met het reference model type {1} in de definitie van het archetype"; - t[404] = "Original language is missing in archetype"; - t[405] = "Archetype heeft geen originele taal"; - t[408] = "Attribute {0} of class {1} does not match existence {2}"; - t[409] = "Attribuut {0} van class {1} komt niet overeen met existence {2}"; - t[410] = "at path: "; - t[411] = "op het pad: "; - t[414] = "The node id is not in the form id1.1....1: {0}"; - t[415] = "De node id is niet in de form id1(.1)*: {0}"; - t[416] = "Translation details language {0} has an incorrect key: {1}"; - t[417] = "De beschrijving van de vertaling {0} zou een gelijke sleutelwaarde als de taal moeten hebben, maar heeft de waarde {1}"; - t[418] = "Attribute {0} is a non-tuple attribute in the parent archetype, but a tuple attribute in the current archetype. That is not allowed"; - t[419] = "Attribuut {0} is geen tuple in het archetype dat gespecializeerd wordt, maar wel een tuple attribuut in het huidige archetype. Dat is niet toegestaan"; - t[424] = "Archetype with id {0} used in use_archetype, but it was not found"; - t[425] = "Archetype met id {0} is gebruikt met use_archetype, maar het archetype kon niet worden gevonden"; - t[430] = "The attribute {0} of type {1} can only have a single value, but the occurrences of the C_OBJECTS below has an upper limit of more than 1"; - t[431] = "Het attribuut {0} van type {1} kan maar \u00e9\u00e9n waarde hebben, maar de occurrences van de C_OBJECTS in dit attibuut heeft een maximale limiet van meer dan 1"; - t[432] = "Duplicate attribute constraint with name {0}"; - t[433] = "Attribuut met naam {0} is twee keer gedefinieerd - dit mag maar \u00e9\u00e9n keer zijn"; - t[436] = "Single valued attributes can not have a cardinality"; - t[437] = "Attributen die maar \u00e9\u00e9n waarde kunnen bevatten mogen geen cardinaliteit hebben"; - t[440] = "Node id {0} already used in path {1}"; - t[441] = "Node id {0} is al gebruikt in pad {1}"; - t[442] = "Id code {0} in terminology is of a different specialization depth than the archetype"; - t[443] = "Id code {0} uit de terminologie heeft een andere specialization depth dan het archetype"; - t[444] = "The cardinality {0} of attribute {2}.{3} does not match cardinality {1} of the reference model"; - t[445] = "De cardinaliteit {0} van attribuut {2}.{3} klopt niet met de cardinaliteit {1} uit het referentiemodel"; - t[452] = "node id must be defined in flat terminology"; - t[453] = "node id ontbreekt in de flat terminologie"; - t[454] = "The specialisation depth of the archetype, {0}, must be one greater than the specialisation depth of the parent archetype, {1}"; - t[455] = "De specialisation depth van het archetype, {0}, moet \u00e9\u00e9n groter zijn dan die van het gespecialiseerde archetype, {1}"; - t[456] = "Node id {0} is used in the archetype, but missing in the terminology"; - t[457] = "Node id {0} is gebruikt in het archetype, maar ontbreekt in de terminologie"; - t[462] = "Archetype terminology contains no term definitions"; - t[463] = "De terminologie van dit archetype bevat geen termdefinities"; - t[464] = "Node id {0} is not valid here"; - t[465] = "Node id {0} is hier niet geldig"; - t[466] = "Warning"; - t[467] = "Waarschuwing"; - t[468] = "Term binding key {0} in path format is not present in archetype"; - t[469] = "Het pad {0} uit een term binding kan niet worden gevonden in het archetype"; - t[470] = "Use_node (C_COMPLEX_OBJECT_PROXY) must point to a C_COMPLEX_OBJECT, but points to a {0}"; - t[471] = "Use_node, hergebruik van een deel van het archetype, moet naar een C_COMPLEX_OBJECT verwijzen, maar verwijst naar een {0}"; - t[476] = "Code {0} from the C_TERMINOLOGY_CODE constraint is not defined in the terminology"; - t[477] = "Code {0} van deze C_TERMINOLOGY_CODE bestaat niet in de terminology"; - t[486] = "Term binding key {0} is not present in terminology"; - t[487] = "De code {0} van een term binding bestaat niet in de terminologie"; - t[490] = "Type name {0} does not exist"; - t[491] = "Type met naam {0} bestaat niet"; - t[496] = "ADL version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?"; - t[497] = "ADL-versie {0} is in een incorrect formaat. Dit zou een versie in het formaat x.x.x-(rc|alpha(x)?)? moeten zijn"; - t[498] = "Object with node id {0} should be specialized before excluding the parent node"; - t[499] = "Object met node id {0} moet gespecialiseerd worden voordat de parent node excluded wordt"; - t[506] = "an tuple member cannot specialize an attribute that is a non-tuple attribute in its parent"; - t[507] = "een onderdeel van een tupel kan geen attribuut specialiseren die geen tupel is"; - t[518] = "less than {0}"; - t[519] = "kleiner dan {0}"; - t[520] = "value-set members unique. The member codes of a value set must be unique within the value set"; - t[521] = "value-set waardes uniek. Elke waarde mag maar \u00e9\u00e9n keer gebruikt worden in een value-set"; - t[522] = "Archetype root must reference an existing archetype"; - t[523] = "Use_archetype moet verwijzen naar een bestaand archetype"; - t[524] = "Differential path must point to a C_ATTRIBUTE in the flat parent, but it pointed instead to a {0}"; - t[525] = "Het differential pad moet naar een C_ATTRIBUTE verwijzen in het archetype dat gespecialiseerd wordt, maar in plaats daarvan verwijst het naar een {0}"; - t[534] = "Incorrect root node id {0}: it must match the specialization depth of the archetype, which is {1}"; - t[535] = "Fout in root node id {0}: Dit moet kloppen met de specialization depth van het archetype, {1}"; - t[536] = "Cannot redefine a closed archetype slot"; - t[537] = "Een gesloten archetype slot kan niet worden hergedefinieerd"; - t[548] = "Node ID {0} specialization depth does not conform to the archetype specialization depth {1}"; - t[549] = "De specialization depth van node id {0} klopt niet bij de specialization depth {1} van het archetype"; - t[558] = "Differential path {0} was not found in the parent archetype"; - t[559] = "Differential path {0} is niet gevonden in het archetype dat gespecialiseerd wordt"; - t[560] = "Attribute has {0} occurrences, but must be {1}"; - t[561] = "Attribuut komt {0} keer voor, maar dit moet {1} zijn"; - t[562] = "In the attribute tuple {0} members were specified, but the primitive tuple has {1} members instead"; - t[563] = "In het attribuut tupel zijn {0} members opgenomen, maar het primitive tuple heeft {1} members. Dit moet gelijk zijn"; - t[564] = "Duplicate Reference Model schema found for model ''{0}'' in file {1}, ignoring latter"; - t[565] = "Meer dan \u00e9\u00e9n Reference Model schema gevonden voor model ''{0}'' in bestand {1}. De tweede en volgende worden genegeerd"; - t[566] = "Attribute does not match cardinality {0}"; - t[567] = "Attribuut moet {0} waarden bevatten"; - t[570] = "C_OBJECT in this archetype with node id {0} is prohibited, which means its node id must be the same as parent {1}"; - t[571] = "Het C_OBJECT in dit archetype met node id {0} heeft 0 als maximum occurrences (prohibited), maar het node id is anders dan die van het C_OBJECT dat gespecialiseerd wordt {1}"; + t[1] = "Project-Id-Version: \nReport-Msgid-Bugs-To: \nPO-Revision-Date: \nLast-Translator: Pieter Bos \nLanguage-Team: \nLanguage: nl\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nX-Generator: Poedit 3.3.2\n"; + t[2] = "Merged schema {0} into schema {1}"; + t[3] = "Schema {0} samengevoegd in schema {1}"; + t[6] = "RM Release version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?"; + t[7] = "Het formaat van de RM release version {0} klopt niet. dit moet in het formaat x.x.x-(rc|alpha(x)?)? zijn"; + t[8] = "value-set id defined. The identifying code of a value set must be defined in the term definitions of the terminology of the current archetype"; + t[9] = "value-set id gedefinieerd. De identificerende code van een value set moet in de termdefinities van de terminologie van dit archetype opgenomen zijn."; + t[14] = "The cardinality {0} of attribute {2}.{3} does not match cardinality {1} of the reference model"; + t[15] = "De cardinaliteit {0} van attribuut {2}.{3} klopt niet met de cardinaliteit {1} uit het referentiemodel"; + t[16] = "Time"; + t[17] = "Tijd"; + t[22] = "No value. Reason: "; + t[23] = "Geen waarde. Reden: "; + t[24] = "End time"; + t[25] = "Eindtijd"; + t[26] = "Reference Model BMM schema {0} incompatible with current release {1} of the tool; obtain up to date schemas"; + t[27] = "Bmm Schema {0} kan niet worden geladen met versie {1} van deze software"; + t[32] = "Sibling order {0} refers to missing node id"; + t[33] = "Sibling order {0} verwijst naar een ontbrekende node id"; + t[34] = "Yes"; + t[35] = "Ja"; + t[40] = "The code specialization depth of code {0} is {1}, which is greater than archetype specialization depth {2}"; + t[41] = "De specialization depth of code {0} is {1}, maar mag niet groter zijn dan {2}, de specialization depth van het archetype"; + t[42] = "Object does not match tuple: {0}"; + t[43] = "Object komt niet overeen met tupel: {0}"; + t[44] = "Original language is missing in archetype"; + t[45] = "Archetype heeft geen originele taal"; + t[46] = "Syntax error: existence must be one of 0..0, 0..1, or 1..1, but was {0}"; + t[47] = "Syntaxfout: existence moet een van 0..0, 0..1 of 1..1 zijn, maar was {0}"; + t[48] = "Use_archetype references archetype id {0}, but no archetype was found"; + t[49] = "Use_archetype verwijst naar archetype met id {0}, maar dit archetype kon niet gevonden worden"; + t[54] = "ADL version {0} is an invalid format for a version, should be x.x.x-(rc|alpha(x)?)?"; + t[55] = "ADL-versie {0} is in een incorrect formaat. Dit zou een versie in het formaat x.x.x-(rc|alpha(x)?)? moeten zijn"; + t[56] = "C_OBJECT in this archetype with class {0} is prohibited, which means its class must be the same as parent type {1}"; + t[57] = "Het C_OBJECT in dit archetype met klasse {0} heeft 0 als maximum occurrences (prohibited), maar heeft niet dezelfde klasse als het C_OBJECT dat gespecializeerd wordt: {1}"; + t[58] = "Differential path must point to a C_ATTRIBUTE in the flat parent, but it pointed instead to a {0}"; + t[59] = "Het differential pad moet naar een C_ATTRIBUTE verwijzen in het archetype dat gespecialiseerd wordt, maar in plaats daarvan verwijst het naar een {0}"; + t[60] = "Attribute {0}.{1} cannot be constrained by a {2}"; + t[61] = "Attribuut {0}.{1} kan niet worden beperkt met een {2}"; + t[64] = "Cannot redefine a closed archetype slot"; + t[65] = "Een gesloten archetype slot kan niet worden hergedefinieerd"; + t[70] = "value set code {0} is used in value set {1}, but not present in terminology"; + t[71] = "de waardeset-code {0} is gebruikt in waardeset {1}, maar is niet aanwezig in de terminologie"; + t[82] = "Code {0} is in the terminology, but not used in the archetype"; + t[83] = "Code {0} uit de terminologie is niet gebruikt in de definitie van het archetype"; + t[84] = "The specialisation depth of the archetypes must be one greater than the specialisation depth of the parent archetype"; + t[85] = "De specialisation depth van het archetype moet \u00e9\u00e9n groter zijn dan die van het gespecialiseerde archetype"; + t[90] = "no magnitude"; + t[91] = "geen waarde"; + t[96] = "Attribute {0} of class {1} does not match existence {2}"; + t[97] = "Attribuut {0} van class {1} komt niet overeen met existence {2}"; + t[104] = "an error occurred that has no standard codes"; + t[105] = "er is een fout opgetreden zonder standaard-code"; + t[110] = "an tuple member cannot specialize an attribute that is a non-tuple attribute in its parent"; + t[111] = "een onderdeel van een tupel kan geen attribuut specialiseren die geen tupel is"; + t[118] = "Attribute existence is {0}, which does not conform to parent existince {1}"; + t[119] = "De existence {0} van dit attribuut komt niet overeen met die de existence van het attribuut dat gespecializeerd wordt: {1}"; + t[122] = "The existence of attribute {0}.{1} is the same as in the reference model - this is not allowed due to strict existence validation being enabled"; + t[123] = "De existence van attribuut {0}.{1} is hetzelfde als in het referentiemodel. Dit is niet toegestaan als strikte validatie ingeschakeld is"; + t[124] = "Protocol"; + t[125] = "Protocol"; + t[128] = "value code validity. Each value code (at-code) used in a term constraint in the archetype definition must be defined in the term_definitions part of the terminology of the flattened form of the current archetype."; + t[129] = "Geldigheid van een value code. Elke value code (at-code) gebruikt in een term constraint in de definitie van het archetype moet in de term definities van de flat form van dit archetype opgenomen zijn."; + t[130] = "Meaning"; + t[131] = "Betekenis"; + t[132] = "The path {0} referenced in the rm visibility does not exist in the flat archetype"; + t[133] = "Het pad {0} gebruikt in de rm visibility bestaat niet in het flattened archetype"; + t[138] = "Attribute {0}.{1} cannot contain type {2}"; + t[139] = "Attribuut {0}.{1} mag geen type {2} bevatten"; + t[142] = "Duplicate Reference Model schema found for model ''{0}'' in file {1}, ignoring latter"; + t[143] = "Meer dan \u00e9\u00e9n Reference Model schema gevonden voor model ''{0}'' in bestand {1}. De tweede en volgende worden genegeerd"; + t[154] = "''rm_schemas_load_list'' config setting mentions non-existent schema {0}"; + t[155] = "De instelling \u2018\u2019rm_schemas_load_list\u2019\u2019 bevat een schema dat niet bestaat: {0}"; + t[156] = "Attribute cardinality {0} does not conform to parent cardinality {1}"; + t[157] = "De cardinaliteit {0} van dit attribuut komt niet overeen met de cardinaliteit van het attribuut dat gespecializeerd wordt: {1}"; + t[158] = "The node_id of the root object of the archetype must be of the form id1'{.1}'*, where the number of .1 components equals the specalisation depth, and must be defined in the terminology"; + t[159] = "De node id van het bovenste object van het archetype moet van de form id'{.1}'* zijn, waar het aantal van .1 onderdelen gelijk is aan de specialization depth, and de code moet bestaan in de terminologie"; + t[160] = "Error in parent archetype. Fix those errors before continuing with this archetype: {0}"; + t[161] = "Fout in het gespecialiseerde archetype. Los deze fout in het bovenliggende archetype eerst op, alvorens verder te gaan met dit archetype. De gevonden fouten: {0}"; + t[162] = "Code {0} from the C_TERMINOLOGY_CODE constraint has specialization depth {1}, but this must be no greater than {2}"; + t[163] = "Code {0} van de C_TERMINOLOGY_CODE heeft specialization depth {1}, maar dit mag niet groter dan {2} zijn voor dit archetype"; + t[164] = "Translation details language {0} has an incorrect key: {1}"; + t[165] = "De beschrijving van de vertaling {0} zou een gelijke sleutelwaarde als de taal moeten hebben, maar heeft de waarde {1}"; + t[166] = "Use_archetype points to type {0}, which is not conformant for type {1} of the archetype root used"; + t[167] = "Use_archetype verwijst naar een pad met type {0}. Dit komt niet overeen met type {1} zoals opgegeven in use_archetype"; + t[168] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to a path that resolves to more than one object"; + t[169] = "Use_node, hergebruik van een deel van het archetype, verwijst naar een pad dat verwijst naar meer dan \u00e9\u00e9n object"; + t[178] = "{0} and {1}"; + t[179] = "{0} en {1}"; + t[184] = "Object with node id {0} should be specialized before excluding the parent node"; + t[185] = "Object met node id {0} moet gespecialiseerd worden voordat de parent node excluded wordt"; + t[196] = "The validation of the parent archetype failed"; + t[197] = "Het bovenliggende archetype bevat een fout, en valideert daardoor niet. Daardoor kan dit archetype niet gevalideerd worden."; + t[200] = "Multiple values for Primitive Object constraint {0}: {1}"; + t[201] = "Meerdere waarden voor Primitive Object constraint {0}: {1}"; + t[204] = "The occurrences of all C_OBJECTS under this attributes is at least {0}, which does not fit in the upper limit of the cardinality of the attribute, {1}"; + t[205] = "De occurrences van alle C_OBJECTS onder dit attribuut is ten minste {0}. Dat past niet in de maximale cardinaliteit van het attibruut {1}"; + t[208] = "A differential path was used in an attribute, but this is not allowed in an archetype that has no parent"; + t[209] = "In dit attribuut is een differential path gebruikt, maar dat is niet toegestaan in een niet specialiserend archetype"; + t[210] = "Language {0} is defined in the translations, but is not present in the terminology"; + t[211] = "Taal {0} is opgenomen bij de vertalingen, maar ontbreekt in de terminologie"; + t[214] = "Code {0} from the C_TERMINOLOGY_CODE constraint is not defined in the terminology"; + t[215] = "Code {0} van deze C_TERMINOLOGY_CODE bestaat niet in de terminology"; + t[218] = "participations"; + t[219] = "deelnemers"; + t[220] = "value-set members unique. The member codes of a value set must be unique within the value set"; + t[221] = "value-set waardes uniek. Elke waarde mag maar \u00e9\u00e9n keer gebruikt worden in een value-set"; + t[236] = "Current state"; + t[237] = "Huidige toestand"; + t[242] = "Schema {0} archetype parent class {1} not defined in schema"; + t[243] = "Schema {0} archetype parent class {1} niet gedefinieerd in schema"; + t[244] = "The validation of a template overlay failed"; + t[245] = "De validate van een template overlay is niet geslaagd"; + t[250] = "Archetype root must have an archetype reference or be prohibited (occurrences matches 0)"; + t[251] = "Use_archetype moet verwijzen naar een archetype, of beperkt zijn tot occurrences 0"; + t[252] = "Use_archetype {0} does not match the expression of the archetype slot it specialized in the parent"; + t[253] = "Use_archetype {0} komt niet overeen met de restricties van het archetype slot dat het specialiseert"; + t[254] = "Start time"; + t[255] = "Starttijd"; + t[260] = "RM type in id {0} does not match RM type in definition {1}"; + t[261] = "Reference model type {0} correspondeert niet met het reference model type {1} in de definitie van het archetype"; + t[262] = "Duplicate instance of Reference Model model {0} found; original schema {1}; ignoring instance from schema {2}"; + t[263] = "Dubbele instantie van reference model {0} gevonden. Het originele schema is {1}. Het schema van instantie {2} wordt genegeerd"; + t[264] = "Time of observation"; + t[265] = "Tijd van observatie"; + t[266] = "Expiry time"; + t[267] = "Verlooptijd"; + t[268] = "at least {0}"; + t[269] = "minimaal {0}"; + t[270] = "Description"; + t[271] = "Beschrijving"; + t[272] = "Care flow step"; + t[273] = "Stap in zorgproces"; + t[274] = "Differential path {0} was not found in the parent archetype"; + t[275] = "Differential path {0} is niet gevonden in het archetype dat gespecialiseerd wordt"; + t[276] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to a path that cannot be found: {0}"; + t[277] = "Use_node, hergebruik van een deel van het archetype, verwijst naar een pad dat niet kan worden gevonden: {0}"; + t[282] = "Units display name"; + t[283] = "Weergavenaam van eenheid"; + t[284] = "The attribute contains {0} objects that are required, but only has an upper cardinality of {1}"; + t[285] = "Het attribuut bevat {0} waarden die verplicht zijn, maar heeft een maximale cardinaliteit van {1}"; + t[286] = "The attribute {0} of type {1} can only have a single value, but the occurrences of the C_OBJECTS below has an upper limit of more than 1"; + t[287] = "Het attribuut {0} van type {1} kan maar \u00e9\u00e9n waarde hebben, maar de occurrences van de C_OBJECTS in dit attibuut heeft een maximale limiet van meer dan 1"; + t[292] = "value-set members defined. The member codes of a value set must be defined in the term definitions of the terminology of the flattened form of the current archetype"; + t[293] = "value-set waardes gedefinieerd. De waardes uit een value-set moeten in de terminology opgenomen zijn van de flat form van dit archetype."; + t[296] = "Tuple member attribute {0} is not an attribute of type {1}"; + t[297] = "Onderdeel van tupel {0} is geen attribuut van type {1}"; + t[302] = "Type name {0} does not exist"; + t[303] = "Type met naam {0} bestaat niet"; + t[304] = "empty"; + t[305] = "leeg"; + t[306] = "anything"; + t[307] = "willekeurig"; + t[308] = "The value {0} must be one of:"; + t[309] = "De waarde {0} moet aan een van de volgende voorwaarden voldoen:"; + t[310] = "Composer"; + t[311] = "Opsteller"; + t[312] = "Syntax error: existence must be one of 0..0, 0..1, or 1..1"; + t[313] = "Syntaxfout: existence moet een van 0..0, 0..1 of 1..1 zijn"; + t[316] = "Use_node (C_COMPLEX_OBJECT_PROXY) must point to a C_COMPLEX_OBJECT, but points to a {0}"; + t[317] = "Use_node, hergebruik van een deel van het archetype, moet naar een C_COMPLEX_OBJECT verwijzen, maar verwijst naar een {0}"; + t[318] = "Error"; + t[319] = "Fout"; + t[324] = "Attribute does not match cardinality {0}"; + t[325] = "Attribuut moet {0} waarden bevatten"; + t[326] = "Node id {0} already used in path {1}"; + t[327] = "Node id {0} is al gebruikt in pad {1}"; + t[328] = "Object should be type {0}, but was {1}"; + t[329] = "Object moet van type {0} zijn, maar is van type {1}"; + t[330] = "The path {0} referenced in the annotations does not exist in the flat archetype or reference model"; + t[331] = "Het pad {0} gebruikt in de annotations bestaat niet in het flattened archetype of referentiemodel"; + t[332] = "Function of participant"; + t[333] = "Functie van de deelnemer"; + t[334] = "Original language {0} is not defined in the terminology"; + t[335] = "Originele taal {0} ontbreekt in de terminologie"; + t[338] = "The attribute cardinality interval has lower > upper, this is not allowed"; + t[339] = "Het attribuut cardinality interval heeft lower > upper. Dat is niet toegestaan"; + t[346] = "greater than {0}"; + t[347] = "groter dan {0}"; + t[350] = "less than {0}"; + t[351] = "kleiner dan {0}"; + t[352] = "other details"; + t[353] = "verdere details"; + t[354] = "code in terminology not used in archetype definition"; + t[355] = "code uit terminologie is niet gebruikt in de definitie van het archetype"; + t[356] = "A closed archetype slot cannot have its includes or excludes assertions modified"; + t[357] = "Een gesloten archetype slot kan geen wijzigingen meer bevatten aan de includes en excludes-onderdelen"; + t[358] = "Context"; + t[359] = "Context"; + t[360] = "Attribute {0} is a non-tuple attribute in the parent archetype, but a tuple attribute in the current archetype. That is not allowed"; + t[361] = "Attribuut {0} is geen tuple in het archetype dat gespecializeerd wordt, maar wel een tuple attribuut in het huidige archetype. Dat is niet toegestaan"; + t[362] = "Template overlay {0} had validation errors"; + t[363] = "Template overlay {0} heeft validatiefouten"; + t[370] = "No"; + t[371] = "Nee"; + t[376] = "The value {0} must be {1}"; + t[377] = "De waarde {0} moet {1} zijn"; + t[378] = "equal to {0}"; + t[379] = "gelijk aan {0}"; + t[380] = "Node id {0} is not valid here"; + t[381] = "Node id {0} is hier niet geldig"; + t[382] = "Node id {0} is not valid here because it redefines an object illegally"; + t[383] = "Node id {0} is hiet niet geldig omdat het een object herdefinieert waar dat niet is toegestaan"; + t[386] = "Id code {0} in terminology is of a different specialization depth than the archetype"; + t[387] = "Id code {0} uit de terminologie heeft een andere specialization depth dan het archetype"; + t[388] = "Setting"; + t[389] = "Setting"; + t[392] = "Feeder system audit"; + t[393] = "Audit van aanleverend systeem"; + t[394] = "at path: "; + t[395] = "op het pad: "; + t[396] = "Term binding key {0} is not present in the terminology"; + t[397] = "De code {0} van een term binding bestaat niet in de terminologie"; + t[404] = "Syntax error: terminology not specified"; + t[405] = "Syntaxfout: terminologie ontbreekt"; + t[408] = "The Archetype with id {0} cannot be found"; + t[409] = "Archetype met id {0} kan niet worden gevonden"; + t[410] = "BMM Schema load error"; + t[411] = "Fout bij het laden van een BMM schema"; + t[412] = "Incorrect root node id {0}: it must match the specialization depth of the archetype, which is {1}"; + t[413] = "Fout in root node id {0}: Dit moet kloppen met de specialization depth van het archetype, {1}"; + t[414] = "Code {0} from C_TERMINOLOGY_CODE constraint is not defined in the terminology"; + t[415] = "Code {0} van deze C_TERMINOLOGY_CODE bestaat niet in de terminologie"; + t[418] = "Attribute has {0} occurrences, but must be {1}"; + t[419] = "Attribuut komt {0} keer voor, maar dit moet {1} zijn"; + t[420] = "No Reference Model schema found for package ''{0}''"; + t[421] = "Geen referentiemodel-schema gevonden voor package \u201c{0}\u201d"; + t[424] = "Duplicate attribute constraint with name {0}"; + t[425] = "Attribuut met naam {0} is twee keer gedefinieerd - dit mag maar \u00e9\u00e9n keer zijn"; + t[428] = "Archetype terminology not defined"; + t[429] = "Archetype terminology ontbreekt"; + t[430] = "Name"; + t[431] = "Naam"; + t[432] = "node id must be defined in flat terminology"; + t[433] = "node id ontbreekt in de flat terminologie"; + t[436] = "value code {0} is used in value set {1}, but not present in terminology"; + t[437] = "de waarde-code {0} is gebruikt in waarde {1}, maar is niet aanwezig in de terminologie"; + t[438] = "C_OBJECT with RM type {0} must have a node id"; + t[439] = "C_OBJECT met RM type {0} moet een node id hebben, maar heeft dat niet"; + t[440] = "Original language not defined in terminology"; + t[441] = "Originele taal bestaat niet in de terminologie"; + t[446] = "The person themselves "; + t[447] = "De persoon zelf"; + t[448] = "Id code {0} in terminology is not a valid term code, should be id, ac or at, followed by digits"; + t[449] = "Id code {0} in de terminology is geen geldige term-code. De code zou moeten beginnen met id, ac of at, gevolgd door getallen"; + t[450] = "type name {0} does not conform to {1}"; + t[451] = "Typenaam {0} klopt niet met {1}"; + t[452] = "The occurrences upper limit of the C_OBJECT {0} was {1}, which is greater than the parent attribute cardinality {2}"; + t[453] = "De bovenste limiet van de occurrences van dit C_OBJECT {0} was {1}. Dat is groter dan de cardinaliteit van het attribuut dat deze C_OBJECT bevat, {2}"; + t[454] = "Performer"; + t[455] = "Uitvoerder"; + t[456] = "Archetype terminology contains no term definitions"; + t[457] = "De terminologie van dit archetype bevat geen termdefinities"; + t[460] = "Could not find parent object for {0} but it should have been prechecked. Could you report this as a bug?"; + t[461] = "Kan parent object voor {0} niet vinden. Deze melding is waarschijnlijk een bug, zou u dat kunnen melden?"; + t[462] = "The archetype id {0} does not match the possible archetype ids."; + t[463] = "Use_archetype met {0} klopt niet met de mogelijke archetype kids"; + t[464] = "Archetype root must reference an existing archetype"; + t[465] = "Use_archetype moet verwijzen naar een bestaand archetype"; + t[466] = "Node id {0} is used in the archetype, but missing in the terminology"; + t[467] = "Node id {0} is gebruikt in het archetype, maar ontbreekt in de terminologie"; + t[468] = "Archetype with id {0} used in use_archetype, but it was not found"; + t[469] = "Archetype met id {0} is gebruikt met use_archetype, maar het archetype kon niet worden gevonden"; + t[474] = "State transition reason"; + t[475] = "Reden van toestandsovergang"; + t[476] = "Warning"; + t[477] = "Waarschuwing"; + t[478] = "C_OBJECT in this archetype with node id {0} is prohibited, which means its node id must be the same as parent {1}"; + t[479] = "Het C_OBJECT in dit archetype met node id {0} heeft 0 als maximum occurrences (prohibited), maar het node id is anders dan die van het C_OBJECT dat gespecialiseerd wordt {1}"; + t[482] = "Term binding key {0} in path format is not present in archetype"; + t[483] = "Het pad {0} uit een term binding kan niet worden gevonden in het archetype"; + t[486] = "Single valued attributes can not have a cardinality"; + t[487] = "Attributen die maar \u00e9\u00e9n waarde kunnen bevatten mogen geen cardinaliteit hebben"; + t[488] = "The primitive object of type {0} does not conform to non-primitive object with type {1}"; + t[489] = "Primitive object met RM type {0} klopt niet bij niet primitief object met type {1}"; + t[490] = "Term binding key {0} is not present in terminology"; + t[491] = "De code {0} van een term binding bestaat niet in de terminologie"; + t[492] = "An object with the new node id {0} cannot be prohibited"; + t[493] = "Een object met een nieuw node id {0} mag geen occurrences van maximaal 0 hebben"; + t[494] = "Message at {0} ({1}): {2}"; + t[495] = "Bericht bij {0} ({1}): {2}"; + t[498] = "The cardinality of Attribute {0}.{1} is the same as in the reference model - this is not allowed due to strict multiplicities validation being enabled"; + t[499] = "De cardinaliteit van attribuut {0}.{1} is hetzelfde als in het referentiemodel. Dit is niet toegestaan als strikte validatie is ingeschakeld"; + t[500] = "at most {0}"; + t[501] = "maximaal {0}"; + t[506] = "Instruction details"; + t[507] = "Details van de instructie"; + t[508] = "Attribute tuple with members {0} does not conform to parent attribute tuple"; + t[509] = "Atribuut-tupel met members {0} komt niet overeen met attribuut-tupel dat gespecializeerd wordt"; + t[510] = "Units system"; + t[511] = "Systeem van eenheid"; + t[512] = "The use_archetype with type {0} does not match the archetype slow (allow_archetype) with type {1}"; + t[513] = "Use_archetype met {0} klopt niet met het archetype slot met type {1} uit het gespecialiseerde archetype"; + t[520] = "Use_node (C_COMPLEX_OBJECT_PROXY) points to type {0}, which does not conform to type {1}"; + t[521] = "Use_node, hergebruik van een deel van het archetype, verwijst naar type {0}, maar dat klopt niet met type {1} zoals gevonden uit het pad"; + t[522] = "State transition"; + t[523] = "Toestandsovergang"; + t[524] = "Term binding key {0} points to a path that cannot be found in the archetype"; + t[525] = "Het pad {0} uit een term binding kan niet worden gevonden in het archetype"; + t[526] = "A {0} cannot specialize a {1}"; + t[527] = "Een {0} kan niet een {1} specialiseren"; + t[530] = "the given id code is not valid"; + t[531] = "de gegeven id code is niet geldig"; + t[532] = "The existence {0} of attribute {2}.{3} does not match existence {1} of the reference model"; + t[533] = "De existence {0} van attribuut {2}.{3} klopt niet bij existence {1} van het referentiemodel"; + t[534] = "The node id is not in the form id1.1....1: {0}"; + t[535] = "De node id is niet in de form id1(.1)*: {0}"; + t[536] = "Use_archetype specializes an archetype root pointing to {0}, but the archetype {1} is not a descendant"; + t[537] = "Use_archetype {1} specialiseert een andere use_archetype die verwijst naar {0}. Maar het archeytpe {1} specialiseert niet {0}"; + t[538] = "A specialized archetype slot must have the same id as the parent id {0}, but it was {1}"; + t[539] = "Een specialiserend archetype slot moet dezelfde id hebben als in het gespecialiseerde archetype {0}, maar het was {1}"; + t[540] = "Parent archetype {0} not found or can not be flattened"; + t[541] = "Parent archetype {0} niet gevonden, of het bevat een fout waardoor het niet kan worden geflattened"; + t[542] = "Mode of participation"; + t[543] = "Manier van deelnemen"; + t[546] = "Assumed value {0} from the C_TERMINOLOGY_CODE is not part of value set {1}. Expected one of {2}"; + t[547] = "De assumed value {0} van de C_TERMINOLOGY_CODE is geen onderdeel van value set/codelijst {1}. Verwacht was een van de codes {2}"; + t[550] = "In the attribute tuple {0} members were specified, but the primitive tuple has {1} members instead"; + t[551] = "In het attribuut tupel zijn {0} members opgenomen, maar het primitive tuple heeft {1} members. Dit moet gelijk zijn"; + t[554] = "value set code {0} is not present in terminology"; + t[555] = "de code {0} van een value set bestaat niet in de terminologie"; + t[556] = "Node id {0} does not conform to {1}"; + t[557] = "Node id {0} klopt niet met {1}"; + t[558] = "no value"; + t[559] = "geen waarde"; + t[560] = "Node ID {0} specialization depth does not conform to the archetype specialization depth {1}"; + t[561] = "De specialization depth van node id {0} klopt niet bij de specialization depth {1} van het archetype"; + t[562] = "{0} is not a known attribute of {1}"; + t[563] = "{0} is niet een bekend attribuut van {1}"; + t[564] = "Location"; + t[565] = "Locatie"; + t[566] = "Magnitude status"; + t[567] = "Status van hoeveelheid"; + t[568] = "Archetype referenced in use_archetype points to class {0}, which does not exist in this reference model"; + t[569] = "Het archetype waarnaar use_archetype verwijst, verwijst naar klasse {0}. Deze klasse bestaat niet in het referentiemodel"; + t[576] = "Multiple values for Tuple constraint {0}: {1}"; + t[577] = "Meerdere waarden voor Tuple constraint {0}: {1}"; + t[578] = "Documentation"; + t[579] = "Documentatie"; + t[580] = "The specialisation depth of the archetype, {0}, must be one greater than the specialisation depth of the parent archetype, {1}"; + t[581] = "De specialisation depth van het archetype, {0}, moet \u00e9\u00e9n groter zijn dan die van het gespecialiseerde archetype, {1}"; table = t; } public java.lang.Object handleGetObject (java.lang.String msgid) throws java.util.MissingResourceException { int hash_val = msgid.hashCode() & 0x7fffffff; - int idx = (hash_val % 287) << 1; + int idx = (hash_val % 293) << 1; { java.lang.Object found = table[idx]; if (found == null) @@ -271,11 +357,11 @@ public java.lang.Object handleGetObject (java.lang.String msgid) throws java.uti if (msgid.equals(found)) return table[idx + 1]; } - int incr = ((hash_val % 285) + 1) << 1; + int incr = ((hash_val % 291) + 1) << 1; for (;;) { idx += incr; - if (idx >= 574) - idx -= 574; + if (idx >= 586) + idx -= 586; java.lang.Object found = table[idx]; if (found == null) return null; @@ -287,13 +373,13 @@ public java.util.Enumeration getKeys () { return new java.util.Enumeration() { private int idx = 0; - { while (idx < 574 && table[idx] == null) idx += 2; } + { while (idx < 586 && table[idx] == null) idx += 2; } public boolean hasMoreElements () { - return (idx < 574); + return (idx < 586); } public java.lang.Object nextElement () { java.lang.Object key = table[idx]; - do idx += 2; while (idx < 574 && table[idx] == null); + do idx += 2; while (idx < 586 && table[idx] == null); return key; } }; diff --git a/tools/src/main/java/com/nedap/archie/creation/ExampleJsonInstanceGenerator.java b/tools/src/main/java/com/nedap/archie/creation/ExampleJsonInstanceGenerator.java index fc3a852ff..cd0cda3db 100644 --- a/tools/src/main/java/com/nedap/archie/creation/ExampleJsonInstanceGenerator.java +++ b/tools/src/main/java/com/nedap/archie/creation/ExampleJsonInstanceGenerator.java @@ -61,6 +61,7 @@ public class ExampleJsonInstanceGenerator { private String typePropertyName = "_type"; OpenEhrRmInstanceGenerator openEhrRmInstanceGenerator; + private boolean addTwoInstancesWherePossible = true; public ExampleJsonInstanceGenerator(MetaModels models, String language) { this.language = language; @@ -106,6 +107,17 @@ public void setTypePropertyName(String typePropertyName) { this.openEhrRmInstanceGenerator.setTypePropertyName(typePropertyName); } + public boolean isAddTwoInstancesWherePossible() { + return addTwoInstancesWherePossible; + } + + /** + * Set whether the example data should contain two instances where this is possible, or just one + * @param addTwoInstancesWherePossible true if the result should contain two instances, false if one + */ + public void setAddTwoInstancesWherePossible(boolean addTwoInstancesWherePossible) { + this.addTwoInstancesWherePossible = addTwoInstancesWherePossible; + } public boolean isAddUniqueNamesForSiblingNodes() { return addUniqueNamesForSiblingNodes; @@ -146,7 +158,7 @@ private Map generate(CComplexObject cObject) { int occurrences = Math.max(1, multiplicityInterval.getLower()); if(multiplicityInterval.isProhibited()) { occurrences = 0; - } else if(multiplicityInterval.has(2) && occurrences <= 1) { + } else if(addTwoInstancesWherePossible && multiplicityInterval.has(2) && occurrences <= 1) { if(attribute.getCardinality() == null || attribute.getCardinality().getInterval().isUpperUnbounded()) { occurrences = 2 ; //indicate that multiple of these can be added by adding 2 of them if the cardinality is x..* } diff --git a/tools/src/test/java/com/nedap/archie/text/RmToMarkdownSerializerTest.java b/tools/src/test/java/com/nedap/archie/text/RmToMarkdownSerializerTest.java new file mode 100644 index 000000000..98c84e086 --- /dev/null +++ b/tools/src/test/java/com/nedap/archie/text/RmToMarkdownSerializerTest.java @@ -0,0 +1,354 @@ +package com.nedap.archie.text; + +import com.esotericsoftware.kryo.kryo5.serializers.DefaultSerializers; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.nedap.archie.adlparser.ADLParseException; +import com.nedap.archie.aom.Archetype; +import com.nedap.archie.aom.OperationalTemplate; +import com.nedap.archie.creation.ExampleJsonInstanceGenerator; +import com.nedap.archie.flattener.Flattener; +import com.nedap.archie.flattener.InMemoryFullArchetypeRepository; +import com.nedap.archie.json.ArchieJacksonConfiguration; +import com.nedap.archie.json.JacksonUtil; +import com.nedap.archie.rm.archetyped.FeederAudit; +import com.nedap.archie.rm.archetyped.FeederAuditDetails; +import com.nedap.archie.rm.composition.*; +import com.nedap.archie.rm.datastructures.Element; +import com.nedap.archie.rm.datastructures.ItemList; +import com.nedap.archie.rm.datatypes.CodePhrase; +import com.nedap.archie.rm.datavalues.DvCodedText; +import com.nedap.archie.rm.datavalues.DvText; +import com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTime; +import com.nedap.archie.rm.generic.Participation; +import com.nedap.archie.rm.integration.GenericEntry; +import com.nedap.archie.testutil.TestUtil; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.openehr.referencemodels.BuiltinReferenceModels; +import org.openehr.utils.message.I18n; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class RmToMarkdownSerializerTest { + + private static final String TYPE_PROPERTY_NAME = "_type"; + + @Before + public void setLocale() { + I18n.setCurrentLocale(Locale.ENGLISH); + } + + @After + public void unsetLocale() { + I18n.setCurrentLocale(null); + } + + @Test + public void bloodPressure() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/observation/openEHR-EHR-OBSERVATION.blood_pressure.v1.1.0.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + //System.out.println(s); + + Observation observation = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Observation.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(observation); + String serialized = rmToMarkdownSerializer.toString(); + + assertTrue(serialized, serialized.contains("Systolic: 0.0mm[Hg] \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("Position: Standing \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("### Blood Pressure")); + + } + + @Test + public void dutchBloodPressure() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/observation/openEHR-EHR-OBSERVATION.blood_pressure.v1.1.0.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator("nl"); + I18n.setCurrentLocale(Locale.forLanguageTag("nl")); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + //System.out.println(s); + + Observation observation = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Observation.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(observation); + String serialized = rmToMarkdownSerializer.toString(); + + assertTrue(serialized, serialized.contains("Systole: 0.0mm[Hg] \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("Houding: Staand \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("### Bloeddruk")); + //and a Dutch translation from the I18n po file + assertTrue(serialized, serialized.contains("Tijd van observatie: 1 jan. 2018 12:00:00")); + + } + + @Test + public void bloodPressureComposition() throws Exception { + Archetype report = TestUtil.parseFailOnErrors("/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.report.v1.adls"); + Archetype reportResult = TestUtil.parseFailOnErrors("/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.report-result.v1.adls"); + Archetype device = TestUtil.parseFailOnErrors("/com/nedap/archie/flattener/openEHR-EHR-CLUSTER.device.v1.adls"); + + Archetype bloodPressureObservation = TestUtil.parseFailOnErrors("/com/nedap/archie/flattener/openEHR-EHR-OBSERVATION.blood_pressure.v1.adls"); + Archetype bloodPressureComposition = TestUtil.parseFailOnErrors("/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.blood_pressure.v1.0.0.adlt"); + + InMemoryFullArchetypeRepository repository = new InMemoryFullArchetypeRepository(); + repository.addArchetype(report); + repository.addArchetype(reportResult); + repository.addArchetype(device); + repository.addArchetype(bloodPressureObservation); + repository.addArchetype(bloodPressureComposition); + + OperationalTemplate bloodPressureCompositionOPT = (OperationalTemplate) new Flattener( + repository, + BuiltinReferenceModels.getMetaModels()) + .createOperationalTemplate(true) + .flatten(bloodPressureComposition); + + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(bloodPressureCompositionOPT); + String s = serializeToJson(structure, true); + + Composition composition = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Composition.class); + + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(composition); + String serialized = rmToMarkdownSerializer.toString(); + + assertTrue(serialized, serialized.contains("Systolic: 0.0mm[Hg] \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("Position: Standing \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("# Blood pressure composition")); + assertTrue(serialized, serialized.contains("## Context")); + assertTrue(serialized, serialized.contains("### Blood pressure")); + assertTrue(serialized, serialized.contains("#### Exertion")); + + } + + @Test + public void evaluation() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/evaluation/openEHR-EHR-EVALUATION.recommendation.v1.1.0.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + + Evaluation evaluation = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Evaluation.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(evaluation); + String serialized = rmToMarkdownSerializer.toString(); + assertTrue(serialized, serialized.contains("### Recommendation")); + assertTrue(serialized, serialized.contains("Recommendation: string \n")); //' \n' = newline in Markdown + assertTrue(serialized, serialized.contains("Rationale: string \n")); //' \n' = newline in Markdown + + + } + + @Test + public void instruction() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/instruction/openEHR-EHR-INSTRUCTION.medication_order.v1.0.1.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + + Instruction instruction = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Instruction.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(instruction); + String serialized = rmToMarkdownSerializer.toString(); + assertTrue(serialized, serialized.contains("### Medication order ")); + assertTrue(serialized, serialized.contains("#### Preparation details ")); + assertTrue(serialized, serialized.contains("Substitution direction: Permitted \n")); //' \n' = newline in Markdown + } + + @Test + public void action() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/action/openEHR-EHR-ACTION.medication.v0.0.1-alpha.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + + Action data = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, Action.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(data); + String serialized = rmToMarkdownSerializer.toString(); + assertTrue(serialized, serialized.contains("### Medication")); + assertTrue(serialized, serialized.contains("Sequence number: 42 \n")); + assertTrue(serialized, serialized.contains("##### State transition")); + assertTrue(serialized, serialized.contains("Care flow step: Medication recommended ")); + } + + @Test + public void adminEntry() throws Exception { + OperationalTemplate opt = createOPT("/ckm-mirror/local/archetypes/entry/admin_entry/openEHR-EHR-ADMIN_ENTRY.admission.v1.0.0.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + + AdminEntry data = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, AdminEntry.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(data); + String serialized = rmToMarkdownSerializer.toString(); + assertTrue(serialized, serialized.contains("### Patient admission")); + assertTrue(serialized, serialized.contains("Location type: Clinic \n")); + assertTrue(serialized, serialized.contains("#### Attending doctor ")); + } + + @Test + public void genericEntry() throws Exception { + OperationalTemplate opt = createOPT("/com/nedap/archie/aom/openEHR-EHR-GENERIC_ENTRY.included.v1.0.0.adls"); + ExampleJsonInstanceGenerator structureGenerator = createExampleJsonInstanceGenerator(); + + Map structure = structureGenerator.generate(opt); + String s = serializeToJson(structure, true); + + GenericEntry data = JacksonUtil.getObjectMapper(ArchieJacksonConfiguration.createStandardsCompliant()).readValue(s, GenericEntry.class); + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(data); + String serialized = rmToMarkdownSerializer.toString(); + //this is a nearly empty nonsensical test archetype, so the output will also be + assertTrue(serialized, serialized.contains("### root node generic entry en")); + assertTrue(serialized, serialized.contains("an element: Value 1 \n")); + } + + @Test + public void compositionParticipants() throws Exception { + Composition composition = new Composition(); + composition.setName(new DvText("composition name")); + EventContext context = new EventContext(); + composition.setContext(context); + List participations = new ArrayList(); + Participation participation1 = new Participation(); + participation1.setFunction(new DvText("some function")); + participation1.setMode(new DvCodedText("some mode", new CodePhrase("[local::at2]"))); + Participation participation2 = new Participation(); + participation2.setFunction(new DvText("some function 2")); + participation2.setMode(new DvCodedText("some mode 2", new CodePhrase("[local::at3]"))); + + participations.add(participation1); + participations.add(participation2); + context.setParticipations(participations); + + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(composition); + String serialized = rmToMarkdownSerializer.toString(); + + assertTrue(serialized, serialized.startsWith("# composition name \n## Context \n" + + "##### participations \n" + + "Function of participant: some function \n" + + "Mode of participant: some mode \n" + + " \n" + + "Function of participant: some function 2 \n" + + "Mode of participant: some mode 2 \n")); + } + + @Test + public void compositionSection() throws Exception { + Composition composition = new Composition(); + composition.setName(new DvText("composition name")); + EventContext context = new EventContext(); + composition.setContext(context); + Section section = new Section(); + section.setNameAsString("section"); + Section innerSection = new Section(); + innerSection.setNameAsString("inner section"); + section.addItem(innerSection); + composition.addContent(section); + + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(composition); + String serialized = rmToMarkdownSerializer.toString(); + + assertTrue(serialized, serialized.startsWith("# composition name \n" + + "## section \n" + + "## inner section \n" + + " \n" + + " \n" + + "## Context \n" + + " ")); + } + + @Test + public void compositionFeederAudit() throws Exception { + Composition composition = new Composition(); + composition.setName(new DvText("composition name")); + + FeederAudit feederAudit = new FeederAudit(); + FeederAuditDetails systemAudit = new FeederAuditDetails(); + systemAudit.setSystemId("some system"); + systemAudit.setTime(new DvDateTime(LocalDateTime.of(2023, 5, 1, 10, 23, 5))); + ItemList otherDetails = new ItemList(); + Element content = new Element(); + content.setNameAsString("system audit name"); + content.setNullFlavour(new DvCodedText("unknown", "at26")); + otherDetails.addItem(content); + systemAudit.setOtherDetails(otherDetails); + feederAudit.setFeederSystemAudit(systemAudit); + feederAudit.setOriginatingSystemAudit(systemAudit); + composition.setFeederAudit(feederAudit); + + RmToMarkdownSerializer rmToMarkdownSerializer = new RmToMarkdownSerializer(); + rmToMarkdownSerializer.append(composition); + String serialized = rmToMarkdownSerializer.toString(); + + assertEquals(serialized, "# composition name \n" + + "#### Originating system audit \n" + + "Originating system: some system \n" + + "time: May 1, 2023, 10:23:05 AM \n" + + "##### other details \n" + + "system audit name: No value. Reason: unknown \n" + + " \n" + + " \n" + + "#### Feeder system audit \n" + + "Originating system: some system \n" + + "time: May 1, 2023, 10:23:05 AM \n" + + "##### other details \n" + + "system audit name: No value. Reason: unknown \n" + + " \n" + + " \n"); + } + + + private ExampleJsonInstanceGenerator createExampleJsonInstanceGenerator() { + return createExampleJsonInstanceGenerator("en"); + } + private ExampleJsonInstanceGenerator createExampleJsonInstanceGenerator(String language) { + ExampleJsonInstanceGenerator structureGenerator = new ExampleJsonInstanceGenerator(BuiltinReferenceModels.getMetaModels(), language); + structureGenerator.setAddTwoInstancesWherePossible(false); + structureGenerator.setTypePropertyName(TYPE_PROPERTY_NAME); + return structureGenerator; + } + + private String serializeToJson(Map structure, boolean indent) throws JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + if(indent) { + objectMapper.enable(SerializationFeature.INDENT_OUTPUT); + } else { + objectMapper.disable(SerializationFeature.INDENT_OUTPUT); + } + return objectMapper.writeValueAsString(structure); + } + + private OperationalTemplate createOPT(String s2) throws IOException, ADLParseException { + Archetype archetype = TestUtil.parseFailOnErrors(s2); + InMemoryFullArchetypeRepository repository = new InMemoryFullArchetypeRepository(); + repository.addArchetype(archetype); + return (OperationalTemplate) new Flattener(repository, BuiltinReferenceModels.getMetaModels()).createOperationalTemplate(true).flatten(archetype); + } +} diff --git a/tools/src/test/resources/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.blood_pressure.v1.0.0.adlt b/tools/src/test/resources/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.blood_pressure.v1.0.0.adlt index 374b71c9d..36837d9ca 100644 --- a/tools/src/test/resources/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.blood_pressure.v1.0.0.adlt +++ b/tools/src/test/resources/com/nedap/archie/flattener/openEHR-EHR-COMPOSITION.blood_pressure.v1.0.0.adlt @@ -65,17 +65,17 @@ terminology description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > ["id0.0.5"] = < - text = <"*Result Report(en)"> + text = <"*Blood pressure(en)"> description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > > ["en"] = < ["id1.1.1"] = < - text = <"*Result Report(en)"> + text = <"Blood pressure composition"> description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > ["id0.0.5"] = < - text = <"*Result Report(en)"> + text = <"Blood pressure"> description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > > @@ -85,7 +85,7 @@ terminology description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > ["id0.0.5"] = < - text = <"*Result Report(en)"> + text = <"*Blood pressure(en)"> description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > > @@ -95,7 +95,7 @@ terminology description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > ["id0.0.5"] = < - text = <"*Result Report(en)"> + text = <"*Blood pressure(en)"> description = <"*Document to communicate information to others about the result of a test or assessment.(en)"> > >