# BMM Schema descriptor class function "is_top_level" **Category:** [BMM/Expressions](https://discourse.openehr.org/c/bmm-el/60) **Created:** 2021-05-15 18:07 UTC **Views:** 650 **Replies:** 3 **URL:** https://discourse.openehr.org/t/bmm-schema-descriptor-class-function-is-top-level/1555 --- ## Post #1 by @saeedsamie46 The description for the method "is_top_level" breaks the rule for encapsulation. It should determine the state of the class by checking other classes which has no idea about. It should be implemented in the parent class "Model access" that has the access to all its siblings, shouldn't it? Or I misunderstand the concept of the method to show from which class should merging begins. --- ## Post #2 by @thomas.beale Yes that is misleading documentation. I have fixed it; it should read: True if this is a top-level schema, i.e. is the root schema of a 'model'. True if `bmm_schema /= Void and then bmm_schema.model_name /= Void`. Note: this model is partly implemented in [Archie](https://github.com/openEHR/archie) (java), and implementation of more recent BMM3 features is ongoing in Archie. However, if you are trying to implement de novo (e.g. in some other language), you will find it easier to either look at the original code (in Eiffel) or still look at Archie (e.g. in IntelliJ or similar). If you want to look at the Eiffel code, see the [adl-tools project wiki on github](https://github.com/openEHR/adl-tools/wiki). If you do either, then you will have a reliable version of code to follow. --- ## Post #3 by @saeedsamie46 Thank you for guidance. Yes I am developing it in c# for our project. I am sure the implementations in other languages specially in java could help me to understand the document better. --- ## Post #4 by @thomas.beale [quote="saeedsamie46, post:3, topic:1555"] Yes I am developing it in c# for our project. I am sure the implementations in other languages specially in java could help me to understand the document better. [/quote] Java is obviously closer to C#, and the primary authors at Nedap have done a great job on archie and actively maintain it. --- **Canonical:** https://discourse.openehr.org/t/bmm-schema-descriptor-class-function-is-top-level/1555 **Original content:** https://discourse.openehr.org/t/bmm-schema-descriptor-class-function-is-top-level/1555