Awesome Ian, thanks! 
I found that it worked better if I specialised the clone and not the original, otherwise I wasn’t able to continue adding clones in a way that worked as intended. Now for getting this into a proper AD "clone " function…
I was able to create a template, export OPT and persist data using this archetype, so it looks like it’s perfectly legal ADL1.4:
{
"_type": "COMPOSITION",
"archetype_node_id": "openEHR-EHR-COMPOSITION.encounter.v1",
"name": {
"value": "test_specialised_clones"
},
"uid": {
"_type": "OBJECT_VERSION_ID",
"value": "88a9e878-5fcb-467c-8467-64c1243576c6::fqm::1"
},
"archetype_details": {
"archetype_id": {
"value": "openEHR-EHR-COMPOSITION.encounter.v1"
},
"template_id": {
"value": "test_specialised_clones"
},
"rm_version": "1.0.4"
},
"language": {
"terminology_id": {
"value": "openehr"
},
"code_string": "nb"
},
"territory": {
"terminology_id": {
"value": "openehr"
},
"code_string": "NO"
},
"category": {
"defining_code": {
"terminology_id": {
"value": "openehr"
},
"code_string": "433"
}
},
"composer": {
"_type": "PARTY_IDENTIFIED",
"name": "unknown"
},
"context": {
"start_time": {
"value": "2025-12-11T11:32:18.9425734+01:00"
},
"setting": {
"value": "secondary medical care",
"defining_code": {
"terminology_id": {
"value": "openehr"
},
"code_string": "232"
}
},
"other_context": {
"_type": "ITEM_TREE",
"archetype_node_id": "at0001",
"name": {
"value": "Tree"
}
}
},
"content": [
{
"_type": "OBSERVATION",
"archetype_node_id": "openEHR-EHR-OBSERVATION.exam.v1",
"name": {
"value": "Physical examination findings"
},
"archetype_details": {
"archetype_id": {
"value": "openEHR-EHR-OBSERVATION.exam.v1"
},
"template_id": {
"value": "test_specialised_clones"
},
"rm_version": "1.0.4"
},
"language": {
"terminology_id": {
"value": "ISO_639-1"
},
"code_string": "en"
},
"encoding": {
"terminology_id": {
"value": "IANA"
},
"code_string": "UTF-8"
},
"subject": {
"_type": "PARTY_SELF"
},
"data": {
"archetype_node_id": "at0001",
"name": {
"value": "Event Series"
},
"origin": {
"value": "2025-12-11T11:32:18.9425734+01:00"
},
"events": [
{
"_type": "POINT_EVENT",
"archetype_node_id": "at0002",
"name": {
"value": "Any event#1"
},
"time": {
"value": "2025-12-11T11:32:18.9425734+01:00"
},
"data": {
"_type": "ITEM_TREE",
"archetype_node_id": "at0003",
"name": {
"value": "Tree"
},
"items": [
{
"_type": "CLUSTER",
"archetype_node_id": "openEHR-EHR-CLUSTER.exam-test.v0",
"name": {
"value": "Physical examination findings"
},
"archetype_details": {
"archetype_id": {
"value": "openEHR-EHR-CLUSTER.exam-test.v0"
},
"template_id": {
"value": "test_specialised_clones"
},
"rm_version": "1.0.4"
},
"items": [
{
"_type": "CLUSTER",
"archetype_node_id": "at0013",
"name": {
"value": "Atypical finding#1"
},
"items": [
{
"_type": "ELEMENT",
"archetype_node_id": "at0014",
"name": {
"value": "Finding type"
},
"value": {
"_type": "DV_TEXT",
"value": "Something"
}
},
{
"_type": "ELEMENT",
"archetype_node_id": "at0015",
"name": {
"value": "Presence"
},
"value": {
"_type": "DV_CODED_TEXT",
"value": "Present",
"defining_code": {
"terminology_id": {
"value": "local"
},
"code_string": "at0016"
}
}
}
]
},
{
"_type": "CLUSTER",
"archetype_node_id": "at0013",
"name": {
"value": "Atypical finding#2"
},
"items": [
{
"_type": "ELEMENT",
"archetype_node_id": "at0014",
"name": {
"value": "Finding type"
},
"value": {
"_type": "DV_TEXT",
"value": "Something else"
}
},
{
"_type": "ELEMENT",
"archetype_node_id": "at0015",
"name": {
"value": "Presence"
},
"value": {
"_type": "DV_CODED_TEXT",
"value": "Absent",
"defining_code": {
"terminology_id": {
"value": "local"
},
"code_string": "at0017"
}
}
}
]
},
{
"_type": "CLUSTER",
"archetype_node_id": "at0013.1",
"name": {
"value": "Redness#1"
},
"items": [
{
"_type": "ELEMENT",
"archetype_node_id": "at0014",
"name": {
"value": "Finding type"
},
"value": {
"_type": "DV_TEXT",
"value": "Redness"
}
},
{
"_type": "ELEMENT",
"archetype_node_id": "at0015",
"name": {
"value": "Presence"
},
"value": {
"_type": "DV_CODED_TEXT",
"value": "Absent",
"defining_code": {
"terminology_id": {
"value": "local"
},
"code_string": "at0.2"
}
}
}
]
},
{
"_type": "CLUSTER",
"archetype_node_id": "at0013.2",
"name": {
"value": "Solid tumour#1"
},
"items": [
{
"_type": "ELEMENT",
"archetype_node_id": "at0014",
"name": {
"value": "Finding type"
},
"value": {
"_type": "DV_TEXT",
"value": "Solid tumour"
}
},
{
"_type": "ELEMENT",
"archetype_node_id": "at0015",
"name": {
"value": "Presence"
},
"value": {
"_type": "DV_CODED_TEXT",
"value": "Present",
"defining_code": {
"terminology_id": {
"value": "local"
},
"code_string": "at0.18"
}
}
}
]
},
{
"_type": "ELEMENT",
"archetype_node_id": "at0001",
"name": {
"value": "System or structure examined"
},
"value": {
"_type": "DV_TEXT",
"value": "Bladder"
}
}
]
}
]
}
}
]
}
}
]
}
Edit: Although it looks like it’s messing up the at-codes for the value set in the “Presence” element in the cloned clusters..