├── README.md ├── formats └── EXAMPLE.bmm └── models ├── ADLtest └── Release-1.0.0 │ └── BMM │ └── openehr_adltest_100.bmm ├── CDISC └── Core │ └── BMM │ └── CDISC-Core-0.5.0.bmm ├── CIMI ├── Release-0.0.3 │ └── BMM │ │ ├── CIMI_RM_CLINICAL.v.0.0.3.bmm │ │ ├── CIMI_RM_CORE.v.0.0.3.bmm │ │ └── CIMI_RM_FOUNDATION.v.0.0.3.bmm ├── Release-0.0.4 │ └── BMM │ │ ├── CIMI_RM_CLINICAL.v.0.0.4.bmm │ │ ├── CIMI_RM_CORE.v.0.0.4.bmm │ │ ├── CIMI_RM_FOUNDATION.v.0.0.4.bmm │ │ ├── cimi_rm_clinical_0.0.4.bmm.json │ │ ├── cimi_rm_clinical_0.0.4.bmm.odin │ │ └── cimi_rm_clinical_0.0.4.bmm.xml └── Release-0.0.5 │ └── BMM │ ├── CIMI_RM_CLINICAL.v.0.0.5.bmm │ ├── CIMI_RM_CORE.v.0.0.5.bmm │ └── CIMI_RM_FOUNDATION.v.0.0.5.bmm ├── FHIR └── DSTU │ └── BMM │ ├── hl7_fhir_resources_dstu4.bmm │ └── hl7_fhir_resources_refactored.bmm ├── ISO_13606 └── 2008 │ └── BMM │ ├── cen_EN13606_0.9.5.bmm │ └── cen_ts14796_0.9.0.bmm ├── ISO_21090 └── 2011 │ └── BMM │ └── iso_21090_0.9.0.bmm └── openEHR └── README.adoc /README.md: -------------------------------------------------------------------------------- 1 | openehr-reference-models 2 | ======================== 3 | 4 | openEHR and related reference models in computable form, including UML, XMI, BMM, Ecore, etc -------------------------------------------------------------------------------- /formats/EXAMPLE.bmm: -------------------------------------------------------------------------------- 1 | -- 2 | *********************************************************************************************** 3 | **** **** 4 | **** EXAMPLE SCHEMA FOR USE IN DEVELOPING & MAINTAINING .bmm SCHEMAS **** 5 | **** **** 6 | **** How to use: when developing a new schema, copy this file, or if you are familiar **** 7 | **** with the format, another schema file that seems useful. If you use a copy of this **** 8 | **** file, DELETE ALL SECTIONS enclosed in '****', like this one. **** 9 | **** **** 10 | **** This schema contains boilerplate text (keep them) and placeholder text enclosed **** 11 | **** within ': :'. Replace the latter with your own text, removing the ': :'. **** 12 | **** **** 13 | **** Remember, a .bmm file is in ODIN syntax, so you need to stick to ODIN rules. **** 14 | **** See here for syntax: **** 15 | **** https://github.com/openEHR/odin **** 16 | **** **** 17 | **** Comment lines begin with '--'; blank lines are allowed (encouraged). **** 18 | **** **** 19 | **** Schemas can be and usually should be nested. See the openEHR Examples, and consider **** 20 | **** reusing existing 'primitive' and 'basic' types schemas. You can reuse and override **** 21 | **** any class with a new definition of the same name. **** 22 | **** **** 23 | *********************************************************************************************** 24 | 25 | *********************************************************************************************** 26 | **** **** 27 | **** The following is a typical header block for use with openEHR and Subversion & Git. **** 28 | **** You are not obliged to use the same format. **** 29 | **** **** 30 | *********************************************************************************************** 31 | -- 32 | -- component: :openEHR Archetype Project or other project name: 33 | -- description: :Short descrption of the schema file for use in the source control system. Longer 34 | -- description typically in the 'schema_description' attribute below.: 35 | -- keywords: :keywords here, e.g. reference model, archetypes, xxxx: 36 | -- author: :Your Name : 37 | -- support: :Support URL or other contact: 38 | -- copyright: :Copyright (c) YEAR ORGANISATION: 39 | -- license: :See end of file: 40 | -- 41 | 42 | *********************************************************************************************** 43 | **** **** 44 | **** The bmm_version attribute needs to be the value of the BMM software with which this **** 45 | **** file works; see the following URL to get it. **** 46 | **** **** 47 | *********************************************************************************************** 48 | 49 | ------------------------------------------------------ 50 | -- BMM version on which these schemas are based. 51 | -- Current BMM version can be found as value of 'Bmm_internal_version' in 52 | -- https://github.com/wolandscat/EOMF/blob/master/library/bmm/core/bmm_definitions.e 53 | -- 54 | ------------------------------------------------------ 55 | bmm_version = <"2.3"> 56 | 57 | *********************************************************************************************** 58 | **** **** 59 | **** The following attributes should be self-explanatory. The 'schema_name' attribute is **** 60 | **** normally given the name of a top-level package or 'model' from the publishing org. **** 61 | **** **** 62 | *********************************************************************************************** 63 | 64 | ------------------------------------------------------ 65 | -- schema identification 66 | -- (schema_id computed as __) 67 | ------------------------------------------------------ 68 | rm_publisher = <"openehr"> 69 | schema_name = <"adltest"> 70 | rm_release = <"1.0.2"> 71 | 72 | *********************************************************************************************** 73 | **** **** 74 | **** The following attributes should be self-explanatory. The 'schema_name' attribute is **** 75 | **** normally given the name of a top-level package or 'model' from the publishing org. **** 76 | **** **** 77 | *********************************************************************************************** 78 | 79 | ------------------------------------------------------ 80 | -- schema documentation 81 | ------------------------------------------------------ 82 | schema_revision = <"$LastChangedRevision: 26 $"> 83 | schema_lifecycle_state = <"stable"> 84 | schema_description = <"openEHR schema to support test archetypes"> 85 | 86 | *********************************************************************************************** 87 | **** **** 88 | **** This is where you say what schemas are to be included in this one. Construct the **** 89 | **** inclusion hierarchy in the same logical fashion as for XML schema or similar. **** 90 | **** **** 91 | **** includes = < **** 92 | **** ["1"] = < **** 93 | **** id = <"some_schema_id"> **** 94 | **** > **** 95 | **** ["2"] = < **** 96 | **** id = <"some_other_schema_id"> **** 97 | **** > **** 98 | **** > **** 99 | **** **** 100 | *********************************************************************************************** 101 | 102 | ------------------------------------------------------ 103 | -- inclusions 104 | ------------------------------------------------------ 105 | includes = < 106 | ["1"] = < 107 | id = <"openehr_basic_types_1.0.2"> 108 | > 109 | > 110 | 111 | *********************************************************************************************** 112 | **** **** 113 | **** One archetyping related attribute can be set below, but would not usually all **** 114 | **** in the same schema. **** 115 | **** **** 116 | *********************************************************************************************** 117 | 118 | ------------------------------------------------------ 119 | -- archetyping 120 | ------------------------------------------------------ 121 | archetype_namespace = <"TEST_PKG"> 122 | 123 | 124 | *********************************************************************************************** 125 | **** **** 126 | **** The packages definition should be self-explanatory: just name the classes and **** 127 | **** packages in a recursive fashion. **** 128 | **** IMPORTANT: **** 129 | **** 1. only top-level package ids can be paths (i.e. contain the '.' character) **** 130 | **** 2. only classes defined in the same schema can be referenced in the package section **** 131 | **** in that schema. **** 132 | **** 3. make sure that the ODIN 'keys' are the same as the 'name' attributes in each **** 133 | **** block, thus: **** 134 | **** ["org.openehr.test_pkg"] = < **** 135 | **** name = <"org.openehr.test_pkg"> **** 136 | **** **** 137 | *********************************************************************************************** 138 | 139 | ------------------------------------------------------ 140 | -- packages 141 | ------------------------------------------------------ 142 | packages = < 143 | ["org.openehr.test_pkg"] = < 144 | name = <"org.openehr.test_pkg"> 145 | classes = <"WHOLE", "SOME_TYPE", "BOOK", "CHAPTER", "ENTRY", "CAR", "CAR_BODY"> 146 | > 147 | > 148 | 149 | *********************************************************************************************** 150 | **** **** 151 | **** Now come the classes. There are two categories: one called 'prmitive_types', reserved **** 152 | **** for defining the minimal semantics of built-in classes. This is typically only used **** 153 | **** in a low-level schema included by all other scheams. The syntax is the same as for **** 154 | **** main class definition section; the 'primitive' distinction is used by tools for **** 155 | **** various display and potentially other purposes. **** 156 | **** **** 157 | *********************************************************************************************** 158 | 159 | ------------------------------------------------------ 160 | -- primitive types 161 | ------------------------------------------------------ 162 | 163 | primitive_types = < 164 | ["Any"] = < 165 | name = <"Any"> 166 | is_abstract = 167 | > 168 | ["Ordered"] = < 169 | name = <"Ordered"> 170 | is_abstract = 171 | ancestors = <"Any", ...> 172 | > 173 | > 174 | 175 | *********************************************************************************************** 176 | **** **** 177 | **** Now come the main class definitions. **** 178 | **** some example classes follow, showing the various specification possibilities. **** 179 | **** NOTES: **** 180 | **** If you include a class C in this schema, and there is a class C (i.e. same name) in **** 181 | **** an included schema, the one here will override the included defiintion. This is how **** 182 | **** to minimally customise an existing schema. **** 183 | **** **** 184 | *********************************************************************************************** 185 | 186 | ------------------------------------------------------ 187 | -- classes 188 | ------------------------------------------------------ 189 | 190 | class_definitions = < 191 | 192 | -- 193 | -- -------------------- classes for validity tests --------------------- 194 | -- 195 | 196 | *********************************************************************************************** 197 | **** **** 198 | **** The ["ITEM"] below is a ODIN key, used to key a Hash of all defined classes. So make **** 199 | **** sure to keep it the same as the Name. Note that keys will always be compared in a **** 200 | **** case-insensitive fashion, but the class name may be in any case you like, and its **** 201 | **** appearance should be preserved by the tools in display & reporting. **** 202 | **** **** 203 | **** Possible class-level properties: **** 204 | **** 'ancestors' - defines any classes from which this class inherits. **** 205 | **** 'is_abstract' - indicates that the class cannot be instantiated directly. **** 206 | **** **** 207 | *********************************************************************************************** 208 | 209 | *********************************************************************************************** 210 | **** **** 211 | **** Optionality **** 212 | **** Below, various types of property definitions are explained. In all property types, **** 213 | **** the 'is_mandatory' attribute can be used to indicate optionality or otherwise. **** 214 | **** **** 215 | *********************************************************************************************** 216 | 217 | ["ITEM"] = < 218 | name = <"ITEM"> 219 | ancestors = <"Any", ...> 220 | is_abstract = 221 | > 222 | 223 | ["ELEMENT"] = < 224 | name = <"ELEMENT"> 225 | ancestors = <"ITEM", ...> 226 | properties = < 227 | 228 | *********************************************************************************************** 229 | **** **** 230 | **** The following is a SINGLE PROPERTY DEFINITION, i.e. corresponding to a single-valued **** 231 | **** attribute from a typical UML or other data model. **** 232 | **** **** 233 | *********************************************************************************************** 234 | 235 | ["null_flavour"] = (P_BMM_SINGLE_PROPERTY) < 236 | name = <"null_flavour"> 237 | type = <"DV_CODED_TEXT"> 238 | is_mandatory = 239 | > 240 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 241 | name = <"value"> 242 | type = <"DATA_VALUE"> 243 | > 244 | > 245 | > 246 | 247 | ["CLUSTER"] = < 248 | name = <"CLUSTER"> 249 | ancestors = <"ITEM", ...> 250 | properties = < 251 | 252 | *********************************************************************************************** 253 | **** **** 254 | **** The following is a CONTAINER PROPERTY DEFINITION, whose type_def part indicates the **** 255 | **** type of the container (must be known elsewhere in the schema, typically in the primi- **** 256 | **** tive types schema. **** 257 | **** The optional 'cardinality' property indicates cardinality of the container, and is **** 258 | **** expressed as a ODIN range. The default is |0..*| **** 259 | **** **** 260 | *********************************************************************************************** 261 | 262 | ["items"] = (P_BMM_CONTAINER_PROPERTY) < 263 | name = <"items"> 264 | type_def = < 265 | container_type = <"List"> 266 | type = <"ITEM"> 267 | > 268 | cardinality = <|>=1|> 269 | is_mandatory = 270 | > 271 | > 272 | > 273 | 274 | *********************************************************************************************** 275 | **** **** 276 | **** The following is a GENERIC CLASS DEFINITION with OPEN GENERIC PROPERTIES. Each such **** 277 | **** property indicates which generic parameter type it is i.e. 'T', 'U' etc. **** 278 | **** Each such parameter has its own part in the 'generic_parameter_defs' section, with an **** 279 | **** optional 'conforms_to_type' setting indicating that the type is constrained. **** 280 | **** **** 281 | *********************************************************************************************** 282 | 283 | ["Interval"] = < 284 | name = <"Interval"> 285 | ancestors = <"Any", ...> 286 | generic_parameter_defs = < 287 | ["T"] = < 288 | name = <"T"> 289 | conforms_to_type = <"Ordered"> 290 | > 291 | > 292 | properties = < 293 | ["lower"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 294 | name = <"lower"> 295 | type = <"T"> 296 | > 297 | ["upper"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 298 | name = <"upper"> 299 | type = <"T"> 300 | > 301 | > 302 | > 303 | 304 | *********************************************************************************************** 305 | **** **** 306 | **** Another GENERIC CLASS DEFINITION, this time inheriting its main definition from a **** 307 | **** parent class, here Interval. **** 308 | **** **** 309 | *********************************************************************************************** 310 | 311 | ["DV_INTERVAL"] = < 312 | name = <"DV_INTERVAL"> 313 | ancestors = <"Interval", "DATA_VALUE"> 314 | generic_parameter_defs = < 315 | ["T"] = < 316 | name = <"T"> 317 | conforms_to_type = <"DV_ORDERED"> 318 | > 319 | > 320 | > 321 | 322 | ["SOME_TYPE"] = < 323 | name = <"SOME_TYPE"> 324 | ancestors = <"Any", ...> 325 | properties = < 326 | 327 | *********************************************************************************************** 328 | **** **** 329 | **** The following is a GENERIC PROPERTY DEFINITION, i.e. corresponding to a property **** 330 | **** whose type is a generic class from the reference model. Container classes are the **** 331 | **** most common form of gneeric class by far, and so have their own dedicated definition **** 332 | **** format (above). Non-container generic classes are defined with a 'root_class' and one **** 333 | **** or more 'generic_parameters'. **** 334 | **** **** 335 | *********************************************************************************************** 336 | 337 | ["qty_interval_attr_1"] = (P_BMM_GENERIC_PROPERTY) < 338 | name = <"qty_interval_attr_1"> 339 | type_def = < 340 | root_type = <"DV_INTERVAL"> 341 | generic_parameters = <"DV_QUANTITY"> 342 | > 343 | > 344 | *********************************************************************************************** 345 | **** **** 346 | **** The following is a nested CONTAINER PROPERTY DEFINITION, i.e. corresponding to a **** 347 | **** whose type is a container class (here, List) where the contained type paremeter is **** 348 | **** itself generic, and conforms to some other generic class defined in the same model. **** 349 | **** **** 350 | **** Since the contained type is generic, it is expressed as a structure, and introduced **** 351 | **** with 'type_def' instead of just 'type'. The general rule is 'type' is used for a **** 352 | **** simeple string type name, and 'type_def' for a structured type reference. **** 353 | **** **** 354 | *********************************************************************************************** 355 | ["careProvider"] = (P_BMM_CONTAINER_PROPERTY) < 356 | name = <"careProvider"> 357 | type_def = < 358 | container_type = <"List"> 359 | type_def = (P_BMM_GENERIC_TYPE) < 360 | root_type = <"ResourceReference"> 361 | generic_parameters = <"Party"> 362 | > 363 | > 364 | cardinality = <|>=0|> 365 | > 366 | > 367 | > 368 | 369 | *********************************************************************************************** 370 | **** **** 371 | **** The following is a GENERIC CLASS DEFINITION, where a property type is of another **** 372 | **** generic type, here DV_INTERVAL. In the following type, there is a property whose type **** 373 | **** is a nested generic types based on the type REFERENCE_RANGE. **** 374 | **** **** 375 | *********************************************************************************************** 376 | 377 | ["REFERENCE_RANGE"] = < 378 | name = <"REFERENCE_RANGE"> 379 | ancestors = <"Any", ...> 380 | generic_parameter_defs = < 381 | ["T"] = < 382 | name = <"T"> 383 | conforms_to_type = <"DV_ORDERED"> 384 | > 385 | > 386 | properties = < 387 | ["range"] = (P_BMM_SINGLE_PROPERTY) < 388 | name = <"range"> 389 | type = <"DV_INTERVAL"> 390 | is_mandatory = 391 | > 392 | > 393 | > 394 | 395 | ["RANGE_OF_INTERVAL_OF_QUANTITY"] = < 396 | name = <"RANGE_OF_INTERVAL_OF_QUANTITY"> 397 | ancestors = <"Any", ...> 398 | properties = < 399 | 400 | *********************************************************************************************** 401 | **** **** 402 | **** The following property definition is based on the above class REFERENCE_RANGE, and in **** 403 | **** this case, has a generic parameter type that is another generic type: DV_INTERVAL< **** 404 | **** DV_QUANTITY>. To express this, we use 'generic_parameter_defs' instead of **** 405 | **** just 'generic_parameters' to specify a type structure, rather than just a string type **** 406 | **** name. Note that 'generic_parameter_defs' is a logical list in general, since there **** 407 | **** can always be more than one generic parameter, i.e. 'T', 'U' etc, even though it is **** 408 | **** most commonly just one. Accordingly, the usual ODIN hash/list structure is used **** 409 | **** with each member being keyed by a generic parameter name, below ["T"]. Additionally, **** 410 | **** Since each member of the list could be any descendant of the type 'P_BMM_TYPE', **** 411 | **** the usual type marker needs to be included. **** 412 | **** **** 413 | *********************************************************************************************** 414 | 415 | ["range"] = (P_BMM_GENERIC_PROPERTY) < 416 | name = <"range"> 417 | type_def = < 418 | root_type = <"REFERENCE_RANGE"> 419 | generic_parameter_defs = < 420 | ["T"] = (P_BMM_GENERIC_TYPE) < 421 | root_type = <"DV_INTERVAL"> 422 | generic_parameters = <"DV_QUANTITY"> 423 | > 424 | > 425 | > 426 | > 427 | > 428 | > 429 | 430 | *********************************************************************************************** 431 | **** **** 432 | **** The following example just does the same as the one above, but shows an (unrealistic) **** 433 | **** but legal extreme case of multiple, mixed, nested generic parameters. **** 434 | **** **** 435 | **** The general rule for expressing types is clearly illustrated: **** 436 | **** - use 'type' for simple string type refs; use 'type_def' for structure types **** 437 | **** - within P_BMM_GENERIC_TYPE, use 'generic_parameters' for a list of string types **** 438 | **** and 'generic_parameter_defs' for a list of complex type references. **** 439 | **** **** 440 | *********************************************************************************************** 441 | 442 | ["MIXED_GENERIC_PARAM_TYPE"] = < 443 | name = <"MIXED_GENERIC_PARAM_TYPE"> 444 | ancestors = <"Any", ...> 445 | properties = < 446 | ["range"] = (P_BMM_GENERIC_PROPERTY) < 447 | name = <"range"> 448 | type_def = < 449 | root_type = <"REFERENCE_RANGE"> 450 | generic_parameter_defs = < 451 | ["T"] = (P_BMM_GENERIC_TYPE) < 452 | root_type = <"DV_INTERVAL"> 453 | generic_parameters = <"DV_QUANTITY"> 454 | > 455 | ["U"] = (P_BMM_SIMPLE_TYPE) < 456 | type = <"Integer"> 457 | > 458 | ["V"] = (P_BMM_CONTAINER_TYPE) < 459 | type = <"DV_QUANTITY"> 460 | container_type = <"List"> 461 | > 462 | ["W"] = (P_BMM_CONTAINER_TYPE) < 463 | type_def = (P_BMM_GENERIC_TYPE) < 464 | root_type = <"DV_INTERVAL"> 465 | generic_parameters = <"DV_QUANTITY"> 466 | > 467 | container_type = <"List"> 468 | > 469 | > 470 | > 471 | > 472 | > 473 | > 474 | 475 | *********************************************************************************************** 476 | **** **** 477 | **** The following is an enumerated class based on the underlying String type. The names **** 478 | **** and values are defined in separate lists whose lengths must match. **** 479 | **** **** 480 | *********************************************************************************************** 481 | 482 | ["MAGNITUDE_STATUS"] = (P_BMM_ENUMERATION_STRING) < 483 | name = <"MAGNITUDE_STATUS"> 484 | ancestors = <"String", ...> 485 | item_names = <"le", "ge", "eq", "approx_eq"> 486 | item_values = <"<=", ">=", "=", "~"> 487 | > 488 | 489 | *********************************************************************************************** 490 | **** **** 491 | **** The following is an enumerated class based on the underlying String type. The names **** 492 | **** are defined, but not values - the values default to the name strings. **** 493 | **** **** 494 | *********************************************************************************************** 495 | 496 | ["NAME_PART"] = (P_BMM_ENUMERATION_STRING) < 497 | name = <"NAME_PART"> 498 | ancestors = <"String", ...> 499 | item_names = <"FIRST", "MIDDLE", "LAST"> 500 | > 501 | 502 | *********************************************************************************************** 503 | **** **** 504 | **** The following is an enumerated class based on the underlying Integer type. The names **** 505 | **** are defined, but no values, because for the Integer based enumeration type, numbers **** 506 | **** from 0, 1, 2, etc are assigned if no integer values are given. **** 507 | **** **** 508 | *********************************************************************************************** 509 | 510 | ["PROPORTION_KIND"] = (P_BMM_ENUMERATION_INTEGER) < 511 | name = <"PROPORTION_KIND"> 512 | ancestors = <"Integer", ...> 513 | item_names = <"pk_ratio", "pk_unitary", "pk_percent", "pk_fraction", "pk_integer_fraction"> 514 | > 515 | 516 | *********************************************************************************************** 517 | **** **** 518 | **** The following is an enumerated class based on the underlying Integer type. The names **** 519 | **** and values are fully defined in this case. **** 520 | **** **** 521 | *********************************************************************************************** 522 | 523 | ["PROPORTION_KIND_2"] = (P_BMM_ENUMERATION_INTEGER) < 524 | name = <"PROPORTION_KIND_2"> 525 | ancestors = <"Integer", ...> 526 | item_names = <"pk_ratio", "pk_unitary", "pk_percent", "pk_fraction", "pk_integer_fraction"> 527 | item_values = <0, 1001, 1002, 1003> 528 | > 529 | 530 | > 531 | 532 | --| 533 | --| ***** BEGIN LICENSE BLOCK ***** 534 | --| Version: MPL 1.1/GPL 2.0/LGPL 2.1 535 | --| 536 | --| The contents of this file are subject to the Mozilla Public License Version 537 | --| 1.1 (the 'License'); you may not use this file except in compliance with 538 | --| the License. You may obtain a copy of the License at 539 | --| http://www.mozilla.org/MPL/ 540 | --| 541 | --| Software distributed under the License is distributed on an 'AS IS' basis, 542 | --| WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 543 | --| for the specific language governing rights and limitations under the 544 | --| License. 545 | --| 546 | --| The Original Code is EXAMPLE.bmm.ex 547 | --| 548 | --| The Initial Developer of the Original Code is Thomas Beale. 549 | --| Portions created by the Initial Developer are Copyright (C) 2009 550 | --| the Initial Developer. All Rights Reserved. 551 | --| 552 | --| Contributor(s): 553 | --| 554 | --| Alternatively, the contents of this file may be used under the terms of 555 | --| either the GNU General Public License Version 2 or later (the 'GPL'), or 556 | --| the GNU Lesser General Public License Version 2.1 or later (the 'LGPL'), 557 | --| in which case the provisions of the GPL or the LGPL are applicable instead 558 | --| of those above. If you wish to allow use of your version of this file only 559 | --| under the terms of either the GPL or the LGPL, and not to allow others to 560 | --| use your version of this file under the terms of the MPL, indicate your 561 | --| decision by deleting the provisions above and replace them with the notice 562 | --| and other provisions required by the GPL or the LGPL. If you do not delete 563 | --| the provisions above, a recipient may use your version of this file under 564 | --| the terms of any one of the MPL, the GPL or the LGPL. 565 | --| 566 | --| ***** END LICENSE BLOCK ***** 567 | --| 568 | 569 | -------------------------------------------------------------------------------- /models/ADLtest/Release-1.0.0/BMM/openehr_adltest_100.bmm: -------------------------------------------------------------------------------- 1 | -- 2 | -- component: openEHR Archetype Project 3 | -- description: openEHR ADL test schema. This schema is a serialisatoin of the 4 | -- the BMM object meta-model classes found at 5 | -- http://www.openehr.org/svn/ref_impl_eiffel/BRANCHES/specialisation/libraries/common_libs/src/basic_meta_model 6 | -- keywords: reference model, meta-model, archetypes 7 | -- author: Thomas Beale 8 | -- support: http://www.openehr.org/issues/browse/AWB 9 | -- copyright: Copyright (c) 2009- The openEHR Foundation 10 | -- license: Apache 2.0 License 11 | -- 12 | 13 | ------------------------------------------------------ 14 | -- BMM version on which these schemas are based. 15 | -- 16 | ------------------------------------------------------ 17 | bmm_version = <"2.3"> 18 | 19 | ------------------------------------------------------ 20 | -- schema identification 21 | -- (schema_id computed as __) 22 | ------------------------------------------------------ 23 | rm_publisher = <"openehr"> 24 | schema_name = <"adltest"> 25 | rm_release = <"1.0.2"> 26 | model_name = <"TEST_PKG"> 27 | 28 | ------------------------------------------------------ 29 | -- schema documentation 30 | ------------------------------------------------------ 31 | schema_revision = <"21"> 32 | schema_lifecycle_state = <"stable"> 33 | schema_description = <"openEHR schema to support test archetypes"> 34 | 35 | ------------------------------------------------------ 36 | -- inclusions 37 | ------------------------------------------------------ 38 | includes = < 39 | ["1"] = < 40 | id = <"openehr_rm_data_types_1.0.4"> 41 | > 42 | > 43 | 44 | ------------------------------------------------------ 45 | -- packages 46 | ------------------------------------------------------ 47 | packages = < 48 | ["org.openehr.test_pkg"] = < 49 | name = <"org.openehr.test_pkg"> 50 | classes = <"WHOLE", "SOME_TYPE", "BOOK", "CHAPTER", "ENTRY", "CAR", "CAR_BODY", "CAR_BODY_PART", "WHEEL", "RIM", "ENGINE_PART", "ENGINE_PART_ITEM", 51 | "ITEM", "CLUSTER", "ELEMENT", "MULTIPLICITY_OBJECT", 52 | "GENERIC_PARENT", "SUPPLIER", "SUPPLIER_A", "SUPPLIER_B", "GENERIC_CHILD_OPEN_T", "GENERIC_CHILD_OPEN_U", "GENERIC_CHILD_CLOSED" 53 | > 54 | > 55 | > 56 | 57 | ------------------------------------------------------ 58 | -- classes 59 | ------------------------------------------------------ 60 | 61 | class_definitions = < 62 | 63 | -- 64 | -- -------------------- classes for validity tests --------------------- 65 | -- 66 | 67 | ["ITEM"] = < 68 | name = <"ITEM"> 69 | ancestors = <"Any"> 70 | is_abstract = 71 | > 72 | 73 | ["CLUSTER"] = < 74 | name = <"CLUSTER"> 75 | ancestors = <"ITEM"> 76 | properties = < 77 | ["items"] = (P_BMM_CONTAINER_PROPERTY) < 78 | name = <"items"> 79 | type_def = < 80 | container_type = <"List"> 81 | type = <"ITEM"> 82 | > 83 | cardinality = <|>=1|> 84 | is_mandatory = 85 | > 86 | > 87 | > 88 | 89 | ["ELEMENT"] = < 90 | name = <"ELEMENT"> 91 | ancestors = <"ITEM"> 92 | properties = < 93 | ["null_flavour"] = (P_BMM_SINGLE_PROPERTY) < 94 | name = <"null_flavour"> 95 | type = <"DV_CODED_TEXT"> 96 | is_mandatory = 97 | > 98 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 99 | name = <"value"> 100 | type = <"DATA_VALUE"> 101 | > 102 | > 103 | > 104 | 105 | ["ENTRY"] = < 106 | name = <"ENTRY"> 107 | ancestors = <"Any"> 108 | properties = < 109 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 110 | name = <"value"> 111 | type = <"CODE_PHRASE"> 112 | > 113 | ["coded_text_value"] = (P_BMM_SINGLE_PROPERTY) < 114 | name = <"coded_text_value"> 115 | type = <"DV_CODED_TEXT"> 116 | > 117 | ["ordinal_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 118 | name = <"ordinal_attr_1"> 119 | type = <"DV_ORDINAL"> 120 | > 121 | ["element_attr"] = (P_BMM_SINGLE_PROPERTY) < 122 | name = <"element_attr"> 123 | type = <"ELEMENT"> 124 | > 125 | ["element_attr_2"] = (P_BMM_CONTAINER_PROPERTY) < 126 | name = <"element_attr_2"> 127 | type_def = < 128 | container_type = <"List"> 129 | type = <"ELEMENT"> 130 | > 131 | cardinality = <|>=0|> 132 | > 133 | ["item"] = (P_BMM_SINGLE_PROPERTY) < 134 | name = <"item"> 135 | type = <"DATA_VALUE"> 136 | > 137 | > 138 | > 139 | 140 | -- 141 | -- -------------------- classes for basic tests --------------------- 142 | -- 143 | 144 | ["BOOK"] = < 145 | name = <"BOOK"> 146 | ancestors = <"Any", ...> 147 | properties = < 148 | ["author"] = (P_BMM_SINGLE_PROPERTY) < 149 | name = <"author"> 150 | type = <"String"> 151 | is_mandatory = 152 | > 153 | ["title"] = (P_BMM_SINGLE_PROPERTY) < 154 | name = <"title"> 155 | type = <"String"> 156 | is_mandatory = 157 | > 158 | ["chapters"] = (P_BMM_CONTAINER_PROPERTY) < 159 | name = <"chapters"> 160 | type_def = < 161 | container_type = <"List"> 162 | type = <"CHAPTER"> 163 | > 164 | cardinality = <|>=0|> 165 | > 166 | > 167 | > 168 | 169 | ["CHAPTER"] = < 170 | name = <"CHAPTER"> 171 | ancestors = <"Any", ...> 172 | properties = < 173 | ["title"] = (P_BMM_SINGLE_PROPERTY) < 174 | name = <"title"> 175 | type = <"String"> 176 | is_mandatory = 177 | > 178 | > 179 | > 180 | 181 | ["WHOLE"] = < 182 | name = <"WHOLE"> 183 | ancestors = <"Any", ...> 184 | properties = < 185 | ["string_attr1"] = (P_BMM_SINGLE_PROPERTY) < 186 | name = <"string_attr1"> 187 | type = <"String"> 188 | > 189 | ["string_attr2"] = (P_BMM_SINGLE_PROPERTY) < 190 | name = <"string_attr2"> 191 | type = <"String"> 192 | > 193 | ["string_attr3"] = (P_BMM_SINGLE_PROPERTY) < 194 | name = <"string_attr3"> 195 | type = <"String"> 196 | > 197 | ["string_attr4"] = (P_BMM_SINGLE_PROPERTY) < 198 | name = <"string_attr4"> 199 | type = <"String"> 200 | > 201 | ["string_attr5"] = (P_BMM_SINGLE_PROPERTY) < 202 | name = <"string_attr5"> 203 | type = <"String"> 204 | > 205 | 206 | ["boolean_attr1"] = (P_BMM_SINGLE_PROPERTY) < 207 | name = <"boolean_attr1"> 208 | type = <"Boolean"> 209 | > 210 | ["boolean_attr2"] = (P_BMM_SINGLE_PROPERTY) < 211 | name = <"boolean_attr2"> 212 | type = <"Boolean"> 213 | > 214 | ["boolean_attr3"] = (P_BMM_SINGLE_PROPERTY) < 215 | name = <"boolean_attr3"> 216 | type = <"Boolean"> 217 | > 218 | ["boolean_attr4"] = (P_BMM_SINGLE_PROPERTY) < 219 | name = <"boolean_attr4"> 220 | type = <"Boolean"> 221 | > 222 | 223 | ["integer_attr1"] = (P_BMM_SINGLE_PROPERTY) < 224 | name = <"integer_attr1"> 225 | type = <"Integer"> 226 | > 227 | ["integer_attr2"] = (P_BMM_SINGLE_PROPERTY) < 228 | name = <"integer_attr2"> 229 | type = <"Integer"> 230 | > 231 | ["integer_attr3"] = (P_BMM_SINGLE_PROPERTY) < 232 | name = <"integer_attr3"> 233 | type = <"Integer"> 234 | > 235 | ["integer_attr4"] = (P_BMM_SINGLE_PROPERTY) < 236 | name = <"integer_attr4"> 237 | type = <"Integer"> 238 | > 239 | ["integer_attr5"] = (P_BMM_SINGLE_PROPERTY) < 240 | name = <"integer_attr5"> 241 | type = <"Integer"> 242 | > 243 | ["integer_attr6"] = (P_BMM_SINGLE_PROPERTY) < 244 | name = <"integer_attr6"> 245 | type = <"Integer"> 246 | > 247 | ["integer_attr7"] = (P_BMM_SINGLE_PROPERTY) < 248 | name = <"integer_attr7"> 249 | type = <"Integer"> 250 | > 251 | ["integer_attr8"] = (P_BMM_SINGLE_PROPERTY) < 252 | name = <"integer_attr8"> 253 | type = <"Integer"> 254 | > 255 | ["integer_attr9"] = (P_BMM_SINGLE_PROPERTY) < 256 | name = <"integer_attr9"> 257 | type = <"Integer"> 258 | > 259 | ["integer_attr10"] = (P_BMM_SINGLE_PROPERTY) < 260 | name = <"integer_attr10"> 261 | type = <"Integer"> 262 | > 263 | ["integer_attr11"] = (P_BMM_SINGLE_PROPERTY) < 264 | name = <"integer_attr11"> 265 | type = <"Integer"> 266 | > 267 | ["integer_attr12"] = (P_BMM_SINGLE_PROPERTY) < 268 | name = <"integer_attr12"> 269 | type = <"Integer"> 270 | > 271 | ["integer_attr13"] = (P_BMM_SINGLE_PROPERTY) < 272 | name = <"integer_attr13"> 273 | type = <"Integer"> 274 | > 275 | 276 | ["real_attr1"] = (P_BMM_SINGLE_PROPERTY) < 277 | name = <"real_attr1"> 278 | type = <"Real"> 279 | > 280 | ["real_attr2"] = (P_BMM_SINGLE_PROPERTY) < 281 | name = <"real_attr2"> 282 | type = <"Real"> 283 | > 284 | ["real_attr3"] = (P_BMM_SINGLE_PROPERTY) < 285 | name = <"real_attr3"> 286 | type = <"Real"> 287 | > 288 | ["real_attr4"] = (P_BMM_SINGLE_PROPERTY) < 289 | name = <"real_attr4"> 290 | type = <"Real"> 291 | > 292 | ["real_attr5"] = (P_BMM_SINGLE_PROPERTY) < 293 | name = <"real_attr5"> 294 | type = <"Real"> 295 | > 296 | ["real_attr6"] = (P_BMM_SINGLE_PROPERTY) < 297 | name = <"real_attr6"> 298 | type = <"Real"> 299 | > 300 | ["real_attr7"] = (P_BMM_SINGLE_PROPERTY) < 301 | name = <"real_attr7"> 302 | type = <"Real"> 303 | > 304 | ["real_attr8"] = (P_BMM_SINGLE_PROPERTY) < 305 | name = <"real_attr8"> 306 | type = <"Real"> 307 | > 308 | ["real_attr9"] = (P_BMM_SINGLE_PROPERTY) < 309 | name = <"real_attr9"> 310 | type = <"Real"> 311 | > 312 | ["real_attr10"] = (P_BMM_SINGLE_PROPERTY) < 313 | name = <"real_attr10"> 314 | type = <"Real"> 315 | > 316 | ["real_attr11"] = (P_BMM_SINGLE_PROPERTY) < 317 | name = <"real_attr11"> 318 | type = <"Real"> 319 | > 320 | ["real_attr12"] = (P_BMM_SINGLE_PROPERTY) < 321 | name = <"real_attr12"> 322 | type = <"Real"> 323 | > 324 | ["real_attr13"] = (P_BMM_SINGLE_PROPERTY) < 325 | name = <"real_attr13"> 326 | type = <"Real"> 327 | > 328 | 329 | ["date_attr1"] = (P_BMM_SINGLE_PROPERTY) < 330 | name = <"date_attr1"> 331 | type = <"Iso8601_date"> 332 | > 333 | ["date_attr2"] = (P_BMM_SINGLE_PROPERTY) < 334 | name = <"date_attr2"> 335 | type = <"Iso8601_date"> 336 | > 337 | ["date_attr3"] = (P_BMM_SINGLE_PROPERTY) < 338 | name = <"date_attr3"> 339 | type = <"Iso8601_date"> 340 | > 341 | ["date_attr4"] = (P_BMM_SINGLE_PROPERTY) < 342 | name = <"date_attr4"> 343 | type = <"Iso8601_date"> 344 | > 345 | ["date_attr5"] = (P_BMM_SINGLE_PROPERTY) < 346 | name = <"date_attr5"> 347 | type = <"Iso8601_date"> 348 | > 349 | ["date_attr6"] = (P_BMM_SINGLE_PROPERTY) < 350 | name = <"date_attr6"> 351 | type = <"Iso8601_date"> 352 | > 353 | ["date_attr7"] = (P_BMM_SINGLE_PROPERTY) < 354 | name = <"date_attr7"> 355 | type = <"Iso8601_date"> 356 | > 357 | ["date_attr8"] = (P_BMM_SINGLE_PROPERTY) < 358 | name = <"date_attr8"> 359 | type = <"Iso8601_date"> 360 | > 361 | ["date_attr9"] = (P_BMM_SINGLE_PROPERTY) < 362 | name = <"date_attr9"> 363 | type = <"Iso8601_date"> 364 | > 365 | ["date_attr10"] = (P_BMM_SINGLE_PROPERTY) < 366 | name = <"date_attr10"> 367 | type = <"Iso8601_date"> 368 | > 369 | ["date_attr11"] = (P_BMM_SINGLE_PROPERTY) < 370 | name = <"date_attr11"> 371 | type = <"Iso8601_date"> 372 | > 373 | ["date_attr12"] = (P_BMM_SINGLE_PROPERTY) < 374 | name = <"date_attr12"> 375 | type = <"Iso8601_date"> 376 | > 377 | 378 | ["time_attr1"] = (P_BMM_SINGLE_PROPERTY) < 379 | name = <"time_attr1"> 380 | type = <"Iso8601_time"> 381 | > 382 | ["time_attr2"] = (P_BMM_SINGLE_PROPERTY) < 383 | name = <"time_attr2"> 384 | type = <"Iso8601_time"> 385 | > 386 | ["time_attr3"] = (P_BMM_SINGLE_PROPERTY) < 387 | name = <"time_attr3"> 388 | type = <"Iso8601_time"> 389 | > 390 | ["time_attr4"] = (P_BMM_SINGLE_PROPERTY) < 391 | name = <"time_attr4"> 392 | type = <"Iso8601_time"> 393 | > 394 | ["time_attr5"] = (P_BMM_SINGLE_PROPERTY) < 395 | name = <"time_attr5"> 396 | type = <"Iso8601_time"> 397 | > 398 | ["time_attr6"] = (P_BMM_SINGLE_PROPERTY) < 399 | name = <"time_attr6"> 400 | type = <"Iso8601_time"> 401 | > 402 | ["time_attr7"] = (P_BMM_SINGLE_PROPERTY) < 403 | name = <"time_attr7"> 404 | type = <"Iso8601_time"> 405 | > 406 | ["time_attr8"] = (P_BMM_SINGLE_PROPERTY) < 407 | name = <"time_attr8"> 408 | type = <"Iso8601_time"> 409 | > 410 | ["time_attr9"] = (P_BMM_SINGLE_PROPERTY) < 411 | name = <"time_attr9"> 412 | type = <"Iso8601_time"> 413 | > 414 | ["time_attr10"] = (P_BMM_SINGLE_PROPERTY) < 415 | name = <"time_attr10"> 416 | type = <"Iso8601_time"> 417 | > 418 | ["time_attr11"] = (P_BMM_SINGLE_PROPERTY) < 419 | name = <"time_attr11"> 420 | type = <"Iso8601_time"> 421 | > 422 | ["time_attr12"] = (P_BMM_SINGLE_PROPERTY) < 423 | name = <"time_attr12"> 424 | type = <"Iso8601_time"> 425 | > 426 | ["time_attr13"] = (P_BMM_SINGLE_PROPERTY) < 427 | name = <"time_attr13"> 428 | type = <"Iso8601_time"> 429 | > 430 | 431 | ["date_time_attr1"] = (P_BMM_SINGLE_PROPERTY) < 432 | name = <"date_time_attr1"> 433 | type = <"Iso8601_date_time"> 434 | > 435 | ["date_time_attr2"] = (P_BMM_SINGLE_PROPERTY) < 436 | name = <"date_time_attr2"> 437 | type = <"Iso8601_date_time"> 438 | > 439 | ["date_time_attr3"] = (P_BMM_SINGLE_PROPERTY) < 440 | name = <"date_time_attr3"> 441 | type = <"Iso8601_date_time"> 442 | > 443 | ["date_time_attr4"] = (P_BMM_SINGLE_PROPERTY) < 444 | name = <"date_time_attr4"> 445 | type = <"Iso8601_date_time"> 446 | > 447 | ["date_time_attr5"] = (P_BMM_SINGLE_PROPERTY) < 448 | name = <"date_time_attr5"> 449 | type = <"Iso8601_date_time"> 450 | > 451 | ["date_time_attr6"] = (P_BMM_SINGLE_PROPERTY) < 452 | name = <"date_time_attr6"> 453 | type = <"Iso8601_date_time"> 454 | > 455 | ["date_time_attr7"] = (P_BMM_SINGLE_PROPERTY) < 456 | name = <"date_time_attr7"> 457 | type = <"Iso8601_date_time"> 458 | > 459 | ["date_time_attr8"] = (P_BMM_SINGLE_PROPERTY) < 460 | name = <"date_time_attr8"> 461 | type = <"Iso8601_date_time"> 462 | > 463 | ["date_time_attr9"] = (P_BMM_SINGLE_PROPERTY) < 464 | name = <"date_time_attr9"> 465 | type = <"Iso8601_date_time"> 466 | > 467 | ["date_time_attr10"] = (P_BMM_SINGLE_PROPERTY) < 468 | name = <"date_time_attr10"> 469 | type = <"Iso8601_date_time"> 470 | > 471 | ["date_time_attr11"] = (P_BMM_SINGLE_PROPERTY) < 472 | name = <"date_time_attr11"> 473 | type = <"Iso8601_date_time"> 474 | > 475 | ["date_time_attr12"] = (P_BMM_SINGLE_PROPERTY) < 476 | name = <"date_time_attr12"> 477 | type = <"Iso8601_date_time"> 478 | > 479 | ["date_time_attr13"] = (P_BMM_SINGLE_PROPERTY) < 480 | name = <"date_time_attr13"> 481 | type = <"Iso8601_date_time"> 482 | > 483 | ["date_time_attr14"] = (P_BMM_SINGLE_PROPERTY) < 484 | name = <"date_time_attr14"> 485 | type = <"Iso8601_date_time"> 486 | > 487 | 488 | ["duration_attr1"] = (P_BMM_SINGLE_PROPERTY) < 489 | name = <"duration_attr1"> 490 | type = <"Iso8601_duration"> 491 | > 492 | ["duration_attr2"] = (P_BMM_SINGLE_PROPERTY) < 493 | name = <"duration_attr2"> 494 | type = <"Iso8601_duration"> 495 | > 496 | ["duration_attr3"] = (P_BMM_SINGLE_PROPERTY) < 497 | name = <"duration_attr3"> 498 | type = <"Iso8601_duration"> 499 | > 500 | ["duration_attr4"] = (P_BMM_SINGLE_PROPERTY) < 501 | name = <"duration_attr4"> 502 | type = <"Iso8601_duration"> 503 | > 504 | ["duration_attr5"] = (P_BMM_SINGLE_PROPERTY) < 505 | name = <"duration_attr5"> 506 | type = <"Iso8601_duration"> 507 | > 508 | ["duration_attr6"] = (P_BMM_SINGLE_PROPERTY) < 509 | name = <"duration_attr6"> 510 | type = <"Iso8601_duration"> 511 | > 512 | ["duration_attr7"] = (P_BMM_SINGLE_PROPERTY) < 513 | name = <"duration_attr7"> 514 | type = <"Iso8601_duration"> 515 | > 516 | ["duration_attr8"] = (P_BMM_SINGLE_PROPERTY) < 517 | name = <"duration_attr8"> 518 | type = <"Iso8601_duration"> 519 | > 520 | ["duration_attr9"] = (P_BMM_SINGLE_PROPERTY) < 521 | name = <"duration_attr9"> 522 | type = <"Iso8601_duration"> 523 | > 524 | ["duration_attr10"] = (P_BMM_SINGLE_PROPERTY) < 525 | name = <"duration_attr10"> 526 | type = <"Iso8601_duration"> 527 | > 528 | ["duration_attr11"] = (P_BMM_SINGLE_PROPERTY) < 529 | name = <"duration_attr11"> 530 | type = <"Iso8601_duration"> 531 | > 532 | ["duration_attr12"] = (P_BMM_SINGLE_PROPERTY) < 533 | name = <"duration_attr12"> 534 | type = <"Iso8601_duration"> 535 | > 536 | ["duration_attr13"] = (P_BMM_SINGLE_PROPERTY) < 537 | name = <"duration_attr13"> 538 | type = <"Iso8601_duration"> 539 | > 540 | ["duration_attr14"] = (P_BMM_SINGLE_PROPERTY) < 541 | name = <"duration_attr14"> 542 | type = <"Iso8601_duration"> 543 | > 544 | ["duration_attr15"] = (P_BMM_SINGLE_PROPERTY) < 545 | name = <"duration_attr15"> 546 | type = <"Iso8601_duration"> 547 | > 548 | ["duration_attr16"] = (P_BMM_SINGLE_PROPERTY) < 549 | name = <"duration_attr16"> 550 | type = <"Iso8601_duration"> 551 | > 552 | ["duration_attr17"] = (P_BMM_SINGLE_PROPERTY) < 553 | name = <"duration_attr17"> 554 | type = <"Iso8601_duration"> 555 | > 556 | ["duration_attr18"] = (P_BMM_SINGLE_PROPERTY) < 557 | name = <"duration_attr18"> 558 | type = <"Iso8601_duration"> 559 | > 560 | ["duration_attr19"] = (P_BMM_SINGLE_PROPERTY) < 561 | name = <"duration_attr19"> 562 | type = <"Iso8601_duration"> 563 | > 564 | ["duration_attr20"] = (P_BMM_SINGLE_PROPERTY) < 565 | name = <"duration_attr20"> 566 | type = <"Iso8601_duration"> 567 | > 568 | ["duration_attr21"] = (P_BMM_SINGLE_PROPERTY) < 569 | name = <"duration_attr21"> 570 | type = <"Iso8601_duration"> 571 | > 572 | ["duration_attr22"] = (P_BMM_SINGLE_PROPERTY) < 573 | name = <"duration_attr22"> 574 | type = <"Iso8601_duration"> 575 | > 576 | ["duration_attr23"] = (P_BMM_SINGLE_PROPERTY) < 577 | name = <"duration_attr23"> 578 | type = <"Iso8601_duration"> 579 | > 580 | ["duration_attr24"] = (P_BMM_SINGLE_PROPERTY) < 581 | name = <"duration_attr24"> 582 | type = <"Iso8601_duration"> 583 | > 584 | ["duration_attr25"] = (P_BMM_SINGLE_PROPERTY) < 585 | name = <"duration_attr25"> 586 | type = <"Iso8601_duration"> 587 | > 588 | ["duration_attr26"] = (P_BMM_SINGLE_PROPERTY) < 589 | name = <"duration_attr26"> 590 | type = <"Iso8601_duration"> 591 | > 592 | ["duration_attr27"] = (P_BMM_SINGLE_PROPERTY) < 593 | name = <"duration_attr27"> 594 | type = <"Iso8601_duration"> 595 | > 596 | ["duration_attr28"] = (P_BMM_SINGLE_PROPERTY) < 597 | name = <"duration_attr28"> 598 | type = <"Iso8601_duration"> 599 | > 600 | ["duration_attr29"] = (P_BMM_SINGLE_PROPERTY) < 601 | name = <"duration_attr29"> 602 | type = <"Iso8601_duration"> 603 | > 604 | ["duration_attr30"] = (P_BMM_SINGLE_PROPERTY) < 605 | name = <"duration_attr30"> 606 | type = <"Iso8601_duration"> 607 | > 608 | ["duration_attr31"] = (P_BMM_SINGLE_PROPERTY) < 609 | name = <"duration_attr31"> 610 | type = <"Iso8601_duration"> 611 | > 612 | ["duration_attr32"] = (P_BMM_SINGLE_PROPERTY) < 613 | name = <"duration_attr32"> 614 | type = <"Iso8601_duration"> 615 | > 616 | ["duration_attr33"] = (P_BMM_SINGLE_PROPERTY) < 617 | name = <"duration_attr33"> 618 | type = <"Iso8601_duration"> 619 | > 620 | ["duration_attr34"] = (P_BMM_SINGLE_PROPERTY) < 621 | name = <"duration_attr34"> 622 | type = <"Iso8601_duration"> 623 | > 624 | ["duration_attr35"] = (P_BMM_SINGLE_PROPERTY) < 625 | name = <"duration_attr35"> 626 | type = <"Iso8601_duration"> 627 | > 628 | ["duration_attr36"] = (P_BMM_SINGLE_PROPERTY) < 629 | name = <"duration_attr36"> 630 | type = <"Iso8601_duration"> 631 | > 632 | 633 | ["any_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 634 | name = <"any_attr_1"> 635 | type = <"Any"> 636 | > 637 | ["any_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 638 | name = <"any_attr_2"> 639 | type = <"Any"> 640 | > 641 | ["any_attr_3"] = (P_BMM_SINGLE_PROPERTY) < 642 | name = <"any_attr_3"> 643 | type = <"Any"> 644 | > 645 | ["any_attr_4"] = (P_BMM_SINGLE_PROPERTY) < 646 | name = <"any_attr_4"> 647 | type = <"Any"> 648 | > 649 | ["any_attr_5"] = (P_BMM_SINGLE_PROPERTY) < 650 | name = <"any_attr_5"> 651 | type = <"Any"> 652 | > 653 | > 654 | > 655 | 656 | ["SOME_TYPE"] = < 657 | name = <"SOME_TYPE"> 658 | ancestors = <"Any", ...> 659 | properties = < 660 | ["standard_quantity_attr"] = (P_BMM_SINGLE_PROPERTY) < 661 | name = <"standard_quantity_attr"> 662 | type = <"DV_QUANTITY"> 663 | > 664 | ["clinical_quantity_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 665 | name = <"clinical_quantity_attr_1"> 666 | type = <"DV_QUANTITY"> 667 | > 668 | ["clinical_quantity_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 669 | name = <"clinical_quantity_attr_2"> 670 | type = <"DV_QUANTITY"> 671 | > 672 | ["clinical_quantity_attr_3"] = (P_BMM_SINGLE_PROPERTY) < 673 | name = <"clinical_quantity_attr_3"> 674 | type = <"DV_QUANTITY"> 675 | > 676 | ["clinical_quantity_attr_4"] = (P_BMM_SINGLE_PROPERTY) < 677 | name = <"clinical_quantity_attr_4"> 678 | type = <"DATA_VALUE"> 679 | > 680 | ["clinical_quantity_attr_5"] = (P_BMM_SINGLE_PROPERTY) < 681 | name = <"clinical_quantity_attr_5"> 682 | type = <"DATA_VALUE"> 683 | > 684 | ["clinical_quantity_attr_6"] = (P_BMM_SINGLE_PROPERTY) < 685 | name = <"clinical_quantity_attr_6"> 686 | type = <"DATA_VALUE"> 687 | > 688 | ["standard_ordinal_attr"] = (P_BMM_SINGLE_PROPERTY) < 689 | name = <"standard_ordinal_attr"> 690 | type = <"DV_ORDINAL"> 691 | > 692 | ["clinical_ordinal_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 693 | name = <"clinical_ordinal_attr_1"> 694 | type = <"DATA_VALUE"> 695 | > 696 | ["clinical_ordinal_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 697 | name = <"clinical_ordinal_attr_2"> 698 | type = <"DATA_VALUE"> 699 | > 700 | ["clinical_coded_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 701 | name = <"clinical_coded_attr_1"> 702 | type = <"CODE_PHRASE"> 703 | > 704 | ["clinical_coded_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 705 | name = <"clinical_coded_attr_2"> 706 | type = <"CODE_PHRASE"> 707 | > 708 | ["clinical_coded_attr_3"] = (P_BMM_SINGLE_PROPERTY) < 709 | name = <"clinical_coded_attr_3"> 710 | type = <"CODE_PHRASE"> 711 | > 712 | ["clinical_coded_attr_4"] = (P_BMM_SINGLE_PROPERTY) < 713 | name = <"clinical_coded_attr_4"> 714 | type = <"CODE_PHRASE"> 715 | > 716 | ["standard_coded_text_attr"] = (P_BMM_SINGLE_PROPERTY) < 717 | name = <"standard_coded_text_attr"> 718 | type = <"DV_CODED_TEXT"> 719 | > 720 | ["standard_coded_text_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 721 | name = <"standard_coded_text_attr_2"> 722 | type = <"DV_CODED_TEXT"> 723 | > 724 | ["clinical_coded_text_attr_1"] = (P_BMM_SINGLE_PROPERTY) < 725 | name = <"clinical_coded_text_attr_1"> 726 | type = <"DV_CODED_TEXT"> 727 | > 728 | ["clinical_coded_text_attr_2"] = (P_BMM_SINGLE_PROPERTY) < 729 | name = <"clinical_coded_text_attr_2"> 730 | type = <"DV_CODED_TEXT"> 731 | > 732 | ["qty_interval_attr_1"] = (P_BMM_GENERIC_PROPERTY) < 733 | name = <"qty_interval_attr_1"> 734 | type_def = < 735 | root_type = <"DV_INTERVAL"> 736 | generic_parameters = <"DV_QUANTITY"> 737 | > 738 | > 739 | ["qty_interval_attr_2"] = (P_BMM_GENERIC_PROPERTY) < 740 | name = <"qty_interval_attr_2"> 741 | type_def = < 742 | root_type = <"DV_INTERVAL"> 743 | generic_parameters = <"DV_QUANTITY"> 744 | > 745 | > 746 | > 747 | > 748 | 749 | ["CAR"] = < 750 | name = <"CAR"> 751 | ancestors = <"Any", ...> 752 | properties = < 753 | ["body"] = (P_BMM_SINGLE_PROPERTY) < 754 | name = <"body"> 755 | type = <"CAR_BODY"> 756 | > 757 | ["engine_parts"] = (P_BMM_CONTAINER_PROPERTY) < 758 | name = <"engine_parts"> 759 | type_def = < 760 | container_type = <"List"> 761 | type = <"ENGINE_PART"> 762 | > 763 | cardinality = <|>=0|> 764 | > 765 | ["wheels"] = (P_BMM_CONTAINER_PROPERTY) < 766 | name = <"wheels"> 767 | type_def = < 768 | container_type = <"List"> 769 | type = <"WHEEL"> 770 | > 771 | cardinality = <|>=0|> 772 | > 773 | > 774 | > 775 | 776 | ["CAR_BODY"] = < 777 | name = <"CAR_BODY"> 778 | ancestors = <"Any", ...> 779 | properties = < 780 | ["model"] = (P_BMM_SINGLE_PROPERTY) < 781 | name = <"model"> 782 | type = <"String"> 783 | > 784 | ["description"] = (P_BMM_SINGLE_PROPERTY) < 785 | name = <"description"> 786 | type = <"String"> 787 | > 788 | ["parts"] = (P_BMM_CONTAINER_PROPERTY) < 789 | name = <"parts"> 790 | type_def = < 791 | container_type = <"List"> 792 | type = <"CAR_BODY_PART"> 793 | > 794 | cardinality = <|>=0|> 795 | > 796 | > 797 | > 798 | 799 | ["CAR_BODY_PART"] = < 800 | name = <"CAR_BODY_PART"> 801 | ancestors = <"Any", ...> 802 | > 803 | 804 | ["ENGINE_PART"] = < 805 | name = <"ENGINE_PART"> 806 | ancestors = <"Any", ...> 807 | properties = < 808 | ["items"] = (P_BMM_CONTAINER_PROPERTY) < 809 | name = <"items"> 810 | type_def = < 811 | container_type = <"List"> 812 | type = <"ENGINE_PART_ITEM"> 813 | > 814 | cardinality = <|>=0|> 815 | > 816 | > 817 | > 818 | 819 | ["ENGINE_PART_ITEM"] = < 820 | name = <"ENGINE_PART_ITEM"> 821 | ancestors = <"Any", ...> 822 | properties = < 823 | ["model"] = (P_BMM_SINGLE_PROPERTY) < 824 | name = <"model"> 825 | type = <"String"> 826 | > 827 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 828 | name = <"type"> 829 | type = <"String"> 830 | > 831 | > 832 | > 833 | 834 | ["WHEEL"] = < 835 | name = <"WHEEL"> 836 | ancestors = <"Any", ...> 837 | properties = < 838 | ["description"] = (P_BMM_SINGLE_PROPERTY) < 839 | name = <"description"> 840 | type = <"String"> 841 | > 842 | ["parts"] = (P_BMM_CONTAINER_PROPERTY) < 843 | name = <"parts"> 844 | type_def = < 845 | container_type = <"List"> 846 | type = <"RIM"> 847 | > 848 | cardinality = <|>=0|> 849 | > 850 | > 851 | > 852 | 853 | ["RIM"] = < 854 | name = <"RIM"> 855 | ancestors = <"Any", ...> 856 | properties = < 857 | ["nuts"] = (P_BMM_SINGLE_PROPERTY) < 858 | name = <"nuts"> 859 | type = <"Integer"> 860 | > 861 | ["hubcap"] = (P_BMM_SINGLE_PROPERTY) < 862 | name = <"hubcap"> 863 | type = <"String"> 864 | > 865 | > 866 | > 867 | 868 | ["MULTIPLICITY_OBJECT"] = < 869 | name = <"MULTIPLICITY_OBJECT"> 870 | ancestors = <"Any", ...> 871 | properties = < 872 | ["integer_list"] = (P_BMM_CONTAINER_PROPERTY) < 873 | name = <"integer_list"> 874 | type_def = < 875 | container_type = <"List"> 876 | type = <"Integer"> 877 | > 878 | cardinality = <|>=0|> 879 | > 880 | ["string_list"] = (P_BMM_CONTAINER_PROPERTY) < 881 | name = <"string_list"> 882 | type_def = < 883 | container_type = <"List"> 884 | type = <"String"> 885 | > 886 | cardinality = <|>=0|> 887 | > 888 | > 889 | > 890 | 891 | -- 892 | --------------------- generic inheritance types ------------------ 893 | -- 894 | 895 | 896 | ["GENERIC_PARENT"] = < 897 | name = <"GENERIC_PARENT"> 898 | generic_parameter_defs = < 899 | ["T"] = < 900 | name = <"T"> 901 | conforms_to_type = <"SUPPLIER"> 902 | > 903 | ["U"] = < 904 | name = <"U"> 905 | conforms_to_type = <"SUPPLIER"> 906 | > 907 | > 908 | properties = < 909 | ["property_a"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 910 | name = <"property_a"> 911 | type = <"T"> 912 | > 913 | ["property_b"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 914 | name = <"property_b"> 915 | type = <"U"> 916 | > 917 | > 918 | > 919 | 920 | ["SUPPLIER"] = < 921 | name = <"SUPPLIER"> 922 | is_abstract = 923 | properties = < 924 | ["abstract_prop"] = (P_BMM_SINGLE_PROPERTY) < 925 | name = <"abstract_prop"> 926 | type = <"String"> 927 | > 928 | > 929 | > 930 | 931 | ["SUPPLIER_A"] = < 932 | name = <"SUPPLIER_A"> 933 | ancestors = <"SUPPLIER"> 934 | properties = < 935 | ["magnitude"] = (P_BMM_SINGLE_PROPERTY) < 936 | name = <"magnitude"> 937 | type = <"Double"> 938 | is_mandatory = 939 | > 940 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 941 | name = <"units"> 942 | type = <"String"> 943 | is_mandatory = 944 | > 945 | > 946 | > 947 | 948 | ["SUPPLIER_B"] = < 949 | name = <"SUPPLIER_B"> 950 | ancestors = <"SUPPLIER"> 951 | properties = < 952 | ["property"] = (P_BMM_SINGLE_PROPERTY) < 953 | name = <"property"> 954 | type = <"CODE_PHRASE"> 955 | is_mandatory = 956 | > 957 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 958 | name = <"precision"> 959 | type = <"Integer"> 960 | > 961 | > 962 | > 963 | 964 | ["GENERIC_CHILD_OPEN_T"] = < 965 | name = <"GENERIC_CHILD_OPEN_T"> 966 | ancestor_defs = < 967 | ["GENERIC_PARENT"] = (P_BMM_GENERIC_TYPE) < 968 | root_type = <"GENERIC_PARENT"> 969 | generic_parameters = <"T", "SUPPLIER_B"> 970 | > 971 | > 972 | generic_parameter_defs = < 973 | ["T"] = < 974 | name = <"T"> 975 | conforms_to_type = <"SUPPLIER"> 976 | > 977 | > 978 | properties = < 979 | ["gen_child_open_t_prop"] = (P_BMM_SINGLE_PROPERTY) < 980 | name = <"gen_child_open_t_prop"> 981 | type = <"String"> 982 | > 983 | > 984 | > 985 | 986 | ["GENERIC_CHILD_OPEN_U"] = < 987 | name = <"GENERIC_CHILD_OPEN_U"> 988 | ancestor_defs = < 989 | ["GENERIC_PARENT"] = (P_BMM_GENERIC_TYPE) < 990 | root_type = <"GENERIC_PARENT"> 991 | generic_parameters = <"SUPPLIER_A", "U"> 992 | > 993 | > 994 | generic_parameter_defs = < 995 | ["U"] = < 996 | name = <"U"> 997 | conforms_to_type = <"SUPPLIER"> 998 | > 999 | > 1000 | properties = < 1001 | ["gen_child_open_u_prop"] = (P_BMM_SINGLE_PROPERTY) < 1002 | name = <"gen_child_open_u_prop"> 1003 | type = <"String"> 1004 | > 1005 | > 1006 | > 1007 | 1008 | ["GENERIC_CHILD_CLOSED"] = < 1009 | name = <"GENERIC_CHILD_CLOSED"> 1010 | ancestor_defs = < 1011 | ["GENERIC_PARENT"] = (P_BMM_GENERIC_TYPE) < 1012 | root_type = <"GENERIC_PARENT"> 1013 | generic_parameters = <"SUPPLIER_A", "SUPPLIER_B"> 1014 | > 1015 | > 1016 | properties = < 1017 | ["gen_child_closed_prop"] = (P_BMM_SINGLE_PROPERTY) < 1018 | name = <"gen_child_closed_prop"> 1019 | type = <"String"> 1020 | > 1021 | > 1022 | > 1023 | 1024 | > 1025 | 1026 | -------------------------------------------------------------------------------- /models/CIMI/Release-0.0.3/BMM/CIMI_RM_CORE.v.0.0.3.bmm: -------------------------------------------------------------------------------- 1 | -- Basic Metamodel Syntax Version 2 | bmm_version = <"2.3"> 3 | 4 | -- ---------------------------------- 5 | -- schema identification 6 | -- (schema_id computed as __) 7 | -- ---------------------------------- 8 | rm_publisher = <"CIMI"> 9 | schema_name = <"RM_CORE"> 10 | rm_release = <"0.0.3"> 11 | 12 | -- ---------------------------------- 13 | -- schema documentation 14 | -- ---------------------------------- 15 | schema_revision = <"Wed Jul 26 08:19:06 PDT 2017"> 16 | schema_lifecycle_state = <"dstu"> 17 | schema_description = <"CIMI_RM_CORE.v0.0.3.mdzip - Schema generated from UML"> 18 | 19 | 20 | packages = < 21 | ["CIMI_Reference_Model"] = < 22 | name = <"CIMI_Reference_Model"> 23 | packages = < 24 | ["Core"] = < 25 | name = <"Core"> 26 | classes = <"ARCHETYPED", "ASSOCIATION_CLASS", "LOCATABLE"> 27 | > 28 | ["Data_Value_Types"] = < 29 | name = <"Data_Value_Types"> 30 | classes = <"AMOUNT", "CODED_TEXT", "COUNT", "DATA_VALUE", "DATE", "DATE_TIME", "DURATION", "EHR_URI", "ENCAPSULATED", "IDENTIFIER", "INTERVAL_VALUE", "MULTIMEDIA", "ORDERED_VALUE", "ORDINAL", "PARSABLE", "PLAIN_TEXT", "PROPORTION", "QUANTIFIED", "QUANTITY", "TERM_MAPPING", "TEXT", "TIME", "URI_VALUE", "YESNO", "INSTANT", "POSITIVE_INTEGER_COUNT", "UNSIGNED_INTEGER_COUNT", "RATIO"> 31 | > 32 | ["Primitive_Types"] = < 33 | name = <"Primitive_Types"> 34 | classes = <"Any", "Array", "List", "Boolean", "Byte", "Character", "Integer", "Real", "String", "URI", "TERMINOLOGY_CODE"> 35 | > 36 | > 37 | > 38 | > 39 | class_definitions = < 40 | ["ARCHETYPED"] = < 41 | documentation = <"Archetypes act as the configuration basis for the particular structures of instances defined by the reference model. To enable archetypes to be used to create valid data, key classes in the reference model act as root points for archetyping; accordingly, these classes have the archetype_details attribute set. 42 | 43 | An instance of the class ARCHETYPED contains the relevant archetype identification information, allowing generating archetypes to be matched up with data instances."> 44 | name = <"ARCHETYPED"> 45 | properties = < 46 | ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < 47 | documentation = <"Globally unique archetype identifier."> 48 | name = <"archetype_id"> 49 | type = <"String"> 50 | is_mandatory = 51 | > 52 | ["rm_version"] = (P_BMM_SINGLE_PROPERTY) < 53 | documentation = <"Version of the CIMI reference model used to create this object. Expressed in terms of the release version string, e.g. 1.0 , 1.2.4 ."> 54 | name = <"rm_version"> 55 | type = <"String"> 56 | is_mandatory = 57 | > 58 | > 59 | > 60 | ["ASSOCIATION_CLASS"] = < 61 | documentation = <"Abstract parent type for an association class."> 62 | name = <"ASSOCIATION_CLASS"> 63 | properties = < 64 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 65 | documentation = <"The type of the association."> 66 | name = <"type"> 67 | type = <"TEXT"> 68 | > 69 | > 70 | > 71 | ["LOCATABLE"] = < 72 | documentation = <"Most classes in the CIMI reference model inherit from the LOCATABLE class, which defines the idea of 'locatability in an archetyped structure'. LOCATABLE defines a runtime name and an archetype_node_id. The archetype_node_id is the standardised semantic code for a node and comes from the corresponding node in the archetype used to create the data. The only exception is at archetype root points in data, where archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. LOCATABLE also provides the attribute archetype_details, which is non-Void for archetype root points in data, and carries meta-data relevant to root points. The name attribute carries a name created at runtime. The 'meaning' of any node is derived formally from the archetype by obtaining the text value for the archetype_node_id code from the archetype ontology section, in the language required."> 73 | name = <"LOCATABLE"> 74 | properties = < 75 | ["archetype_node_id"] = (P_BMM_SINGLE_PROPERTY) < 76 | documentation = <"The standardised semantic code for a node and comes from the corresponding node in the archetype used to create the data. The only exception is at archetype root points in data, where archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. "> 77 | name = <"archetype_node_id"> 78 | type = <"String"> 79 | is_mandatory = 80 | > 81 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 82 | documentation = <"A name created at runtime"> 83 | name = <"name"> 84 | type = <"String"> 85 | is_mandatory = 86 | > 87 | ["archetype_details"] = (P_BMM_SINGLE_PROPERTY) < 88 | documentation = <"LOCATABLE also provides the attribute Archetype_details, which is non-Void for archetype root points in data, and carries meta-data relevant to root points. "> 89 | name = <"archetype_details"> 90 | type = <"ARCHETYPED"> 91 | > 92 | > 93 | > 94 | ["AMOUNT"] = < 95 | documentation = <"Abstract class defining the concept of relative quantified amounts. For relative quantities, the +' and -' operators are defined."> 96 | name = <"AMOUNT"> 97 | ancestors = <"QUANTIFIED",...> 98 | properties = < 99 | ["accuracy"] = (P_BMM_SINGLE_PROPERTY) < 100 | documentation = <"Accuracy of measurement, expressed either as a half-range percent value (accuracy_is_percent = True) or a half-range quantity. A value of 0 means that accuracy is 100%, i.e. no error. 101 | 102 | A value of unknown_accuracy_value means that accuracy was not recorded."> 103 | name = <"accuracy"> 104 | type = <"Real"> 105 | > 106 | ["accuracy_is_percent"] = (P_BMM_SINGLE_PROPERTY) < 107 | documentation = <"If True, indicates that when this object was created, accuracy was recorded as a percent value; if False, as an absolute quantity value."> 108 | name = <"accuracy_is_percent"> 109 | type = <"Boolean"> 110 | > 111 | > 112 | > 113 | ["CODED_TEXT"] = < 114 | documentation = <"A text item whose value must be the rubric from a controlled terminology, the key (i.e. the code') of which is the code attribute. In other words: a CODED_TEXT is a combination of a CODE_PHRASE (effectively a code) and the rubric of that term, from a terminology service, in the language in which the data was authored. 115 | 116 | Since CODED_TEXT is a subtype of TEXT, it can be used in place of it, effectively allowing the type TEXT to mean a text item, which may optionally be coded. 117 | 118 | Misuse: If the intention is to represent a term code attached in some way to a fragment of plain text, CODED_TEXT should not be used."> 119 | name = <"CODED_TEXT"> 120 | ancestors = <"TEXT",...> 121 | properties = < 122 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 123 | documentation = <"The identifier of a concept in a terminology."> 124 | name = <"code"> 125 | type = <"TERMINOLOGY_CODE"> 126 | is_mandatory = 127 | > 128 | ["term"] = (P_BMM_SINGLE_PROPERTY) < 129 | documentation = <"The preferred textual rendition of the code attribute."> 130 | name = <"term"> 131 | type = <"String"> 132 | > 133 | > 134 | > 135 | ["COUNT"] = < 136 | documentation = <"Countable quantities. Used for countable types such as pregnancies and steps (taken by a physiotherapy patient), number of cigarettes smoked in a day. 137 | 138 | Misuse: Not to be used for amounts of physical entities (which all have units)."> 139 | name = <"COUNT"> 140 | ancestors = <"AMOUNT",...> 141 | properties = < 142 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 143 | documentation = <"The integer count value."> 144 | name = <"value"> 145 | type = <"Integer"> 146 | is_mandatory = 147 | > 148 | > 149 | > 150 | ["DATA_VALUE"] = < 151 | documentation = <"Serves as a common ancestor of all CIMI complex types."> 152 | name = <"DATA_VALUE"> 153 | > 154 | ["DATE"] = < 155 | documentation = <"Represents an absolute point in time, as measured on the Gregorian calendar, and specified only to the day. Semantics defined by ISO 8601. Used for recording dates in real world time. The partial form is used for approximate birth dates, dates of death, etc."> 156 | name = <"DATE"> 157 | ancestors = <"DATE_TIME",...> 158 | > 159 | ["DATE_TIME"] = < 160 | documentation = <"Represents an absolute point in time, specified to the second. Semantics defined by ISO 8601. 161 | 162 | Used for recording a precise point in real world time, and for approximate time stamps, e.g. the origin of a HISTORY in an OBSERVATION which is only partially known."> 163 | name = <"DATE_TIME"> 164 | ancestors = <"QUANTIFIED",...> 165 | properties = < 166 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 167 | documentation = <"ISO8601 date/time string."> 168 | name = <"value"> 169 | type = <"String"> 170 | is_mandatory = 171 | > 172 | > 173 | > 174 | ["DURATION"] = < 175 | documentation = <"Represents a period of time with respect to a notional point in time, which is not specified. A sign may be used to indicate the duration is backwards in time rather than forwards. 176 | 177 | NOTE 178 | a deviation from ISO8601 is supported, allowing the W' designator to be mixed with other designators. See assumed types section in the Support IM. 179 | Used for recording the duration of something in the real world, particularly when there is a need a) to represent the duration in customary format, i.e. days, hours, minutes etc, and b) if it will be used in computational operations with date/time quantities, i.e. additions, subtractions etc. 180 | 181 | Misuse: Durations cannot be used to represent points in time, or intervals of time."> 182 | name = <"DURATION"> 183 | ancestors = <"QUANTITY",...> 184 | properties = < 185 | ["duration_text"] = (P_BMM_SINGLE_PROPERTY) < 186 | documentation = <"ISO8601 duration string."> 187 | name = <"duration_text"> 188 | type = <"String"> 189 | > 190 | > 191 | > 192 | ["EHR_URI"] = < 193 | documentation = <"A EHR_URI is a URI which has the scheme name 'ehr', and which can only reference items in EHRs. 194 | 195 | Used to reference items in an EHR, which may be the same as the current EHR (containing this link), or another."> 196 | name = <"EHR_URI"> 197 | ancestors = <"URI_VALUE",...> 198 | > 199 | ["ENCAPSULATED"] = < 200 | documentation = <"Abstract class defining the common meta-data of all types of encapsulated data."> 201 | name = <"ENCAPSULATED"> 202 | ancestors = <"DATA_VALUE",...> 203 | > 204 | ["IDENTIFIER"] = < 205 | documentation = <"Type for representing identifiers of real-world entities. Typical identifiers include drivers licence number, social security number, veterans affairs number, prescription id, order id, and so on."> 206 | name = <"IDENTIFIER"> 207 | ancestors = <"DATA_VALUE",...> 208 | properties = < 209 | ["use"] = (P_BMM_SINGLE_PROPERTY) < 210 | documentation = <"The purpose of this identifier. Use is considered a modifying attribute because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary."> 211 | name = <"use"> 212 | type = <"CODED_TEXT"> 213 | > 214 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 215 | documentation = <"Optional identifier type, such as prescription, or Social Security Number. One day a controlled vocabulary might be possible for this."> 216 | name = <"type"> 217 | type = <"CODED_TEXT"> 218 | is_mandatory = 219 | > 220 | ["issuer"] = (P_BMM_SINGLE_PROPERTY) < 221 | documentation = <"Optional organisation that assigned the id to the item being identified."> 222 | name = <"issuer"> 223 | type = <"String"> 224 | is_mandatory = 225 | > 226 | ["namespace"] = (P_BMM_SINGLE_PROPERTY) < 227 | documentation = <"The namespace in which the id is unique."> 228 | name = <"namespace"> 229 | type = <"URI_VALUE"> 230 | > 231 | ["id"] = (P_BMM_SINGLE_PROPERTY) < 232 | documentation = <"The identifier value. Often structured, according to the definition of the issuing authority’s rules."> 233 | name = <"id"> 234 | type = <"String"> 235 | is_mandatory = 236 | > 237 | > 238 | > 239 | ["INTERVAL_VALUE"] = < 240 | documentation = <"Generic class defining an interval (i.e. range) of a comparable type. An interval is a contiguous subrange of a comparable base type. Used to define intervals of dates, times, quantities (whose units match) and so on. The type parameter, T, must be a descendant of the type ORDERED_VALUE, which is necessary (but not sufficient) for instances to be compared (strictly_comparable is also needed). 241 | 242 | The basic semantics are derived from the class Interval<T>, described in the support RM."> 243 | name = <"INTERVAL_VALUE"> 244 | ancestors = <"DATA_VALUE",...> 245 | generic_parameter_defs = < 246 | ["T"] = < 247 | name = <"T"> 248 | conforms_to_type = <"ORDERED_VALUE"> 249 | > 250 | > 251 | properties = < 252 | ["lower_included"] = (P_BMM_SINGLE_PROPERTY) < 253 | documentation = <"True if the lower bound of the interval is included. False otherwise."> 254 | name = <"lower_included"> 255 | type = <"Boolean"> 256 | is_mandatory = 257 | > 258 | ["lower_unbounded"] = (P_BMM_SINGLE_PROPERTY) < 259 | documentation = <"True if the interval does not specify a lower bound. False otherwise."> 260 | name = <"lower_unbounded"> 261 | type = <"Boolean"> 262 | is_mandatory = 263 | > 264 | ["upper_included"] = (P_BMM_SINGLE_PROPERTY) < 265 | documentation = <"True if the upper bound of the interval is included. Otherwise, false."> 266 | name = <"upper_included"> 267 | type = <"Boolean"> 268 | is_mandatory = 269 | > 270 | ["upper_unbounded"] = (P_BMM_SINGLE_PROPERTY) < 271 | documentation = <"True if the upper bound is unspecified. False otherwise."> 272 | name = <"upper_unbounded"> 273 | type = <"Boolean"> 274 | is_mandatory = 275 | > 276 | ["lower"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 277 | documentation = <"The interval's lower bound. Values outside the lower bound lie outside the range specified by this interval."> 278 | name = <"lower"> 279 | type = <"T"> 280 | > 281 | ["upper"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 282 | documentation = <"The reference range's upper bound. Values outside the upper bound lie outside the range specified by this interval."> 283 | name = <"upper"> 284 | type = <"T"> 285 | > 286 | > 287 | > 288 | ["MULTIMEDIA"] = < 289 | documentation = <"A specialisation of DV_ENCAPSULATED for audiovisual and biosignal types. Includes further metadata relating to multimedia types which are not applicable to other subtypes of DV_ENCAPSULATED."> 290 | name = <"MULTIMEDIA"> 291 | ancestors = <"ENCAPSULATED",...> 292 | properties = < 293 | ["alternate_text"] = (P_BMM_SINGLE_PROPERTY) < 294 | documentation = <"Text to display in lieu of multimedia display/replay."> 295 | name = <"alternate_text"> 296 | type = <"Byte"> 297 | > 298 | ["data"] = (P_BMM_CONTAINER_PROPERTY) < 299 | documentation = <"The actual data found at uri, if supplied inline."> 300 | name = <"data"> 301 | type_def = < 302 | container_type = <"List"> 303 | type = <"Byte"> 304 | > 305 | cardinality = <|>=0|> 306 | > 307 | ["media_type"] = (P_BMM_SINGLE_PROPERTY) < 308 | documentation = <"Data media type coded from openEHR code set media types (interface for the IANA MIME types code set)."> 309 | name = <"media_type"> 310 | type = <"CODED_TEXT"> 311 | is_mandatory = 312 | > 313 | ["uri"] = (P_BMM_SINGLE_PROPERTY) < 314 | documentation = <"URI reference to electronic information stored outside the record as a file, database entry etc, if supplied as a reference."> 315 | name = <"uri"> 316 | type = <"URI_VALUE"> 317 | > 318 | > 319 | > 320 | ["ORDERED_VALUE"] = < 321 | documentation = <"Abstract class defining the concept of ordered values, which includes ordinals as well as true quantities."> 322 | name = <"ORDERED_VALUE"> 323 | ancestors = <"DATA_VALUE",...> 324 | > 325 | ["ORDINAL"] = < 326 | documentation = <"Models rankings and scores, e.g. pain, Apgar values, etc, where there is a) implied ordering, b) no implication that the distance between each value is constant, and c) the total number of values is finite. Note that although the term ordinal' in mathematics means natural numbers only, here any integer is allowed, since negative and zero values are often used by medical professionals for values around a neutral point. Examples of sets of ordinal values: 327 | 328 | -3, -2, -1, 0, 1, 2, 3  — reflex response values 329 | 0, 1, 2  — Apgar values 330 | This class is used for recording any clinical datum which is customarily recorded using symbolic values. Example: the results on a urinalysis strip, e.g. {neg, trace, , , } are used for leucocytes, protein, nitrites etc; for non-haemolysed blood {neg, trace, moderate}; for haemolysed blood small, moderate, large}."> 331 | name = <"ORDINAL"> 332 | ancestors = <"ORDERED_VALUE",...> 333 | properties = < 334 | ["symbol"] = (P_BMM_SINGLE_PROPERTY) < 335 | documentation = <"Coded textual representation of this value in the enumeration, which may be strings made from + symbols, or other enumerations of terms such as mild , moderate , severe , or even the same number series as the values, e.g. 1 , 2 , 3 . Codes come from archetype."> 336 | name = <"symbol"> 337 | type = <"CODED_TEXT"> 338 | is_mandatory = 339 | > 340 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 341 | documentation = <"Value in ordered enumeration of values. Any integer value can be used."> 342 | name = <"value"> 343 | type = <"Real"> 344 | is_mandatory = 345 | > 346 | > 347 | > 348 | ["PARSABLE"] = < 349 | documentation = <"Encapsulated data expressed as a parsable String. The internal model of the data item is not described in the openEHR model in common with other encapsulated types, but in this case, the form of the data is assumed to be plaintext, rather than compressed or other types of large binary data. 350 | "> 351 | name = <"PARSABLE"> 352 | ancestors = <"ENCAPSULATED",...> 353 | properties = < 354 | ["formalism"] = (P_BMM_SINGLE_PROPERTY) < 355 | documentation = <"Name of the formalism, e.g. GLIF 1.0 , Proforma etc."> 356 | name = <"formalism"> 357 | type = <"CODED_TEXT"> 358 | is_mandatory = 359 | > 360 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 361 | documentation = <"The string, which may validly be empty in some syntaxes."> 362 | name = <"value"> 363 | type = <"String"> 364 | is_mandatory = 365 | > 366 | > 367 | > 368 | ["PLAIN_TEXT"] = < 369 | documentation = <"Plain text potentially with simple formatting"> 370 | name = <"PLAIN_TEXT"> 371 | ancestors = <"TEXT",...> 372 | properties = < 373 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 374 | documentation = <"The text's language."> 375 | name = <"language"> 376 | type = <"CODED_TEXT"> 377 | > 378 | > 379 | > 380 | ["PROPORTION"] = < 381 | documentation = <"Models a ratio of values, i.e. where the numerator and denominator are both pure numbers. The valid_proportion_kind property of the PROPORTION_KIND class is used to control the type attribute to be one of a defined set. 382 | 383 | Used for recording titers (e.g. 1:128), concentration ratios, e.g. Na:K (unitary denominator), albumin:creatinine ratio, and percentages, e.g. red cell distirbution width (RDW). 384 | 385 | Misuse: Should not be used to represent things like blood pressure which are often written using a '/' character, giving the misleading impression that the item is a ratio, when in fact it is a structured value. Similarly, visual acuity, often written as (e.g.) “6/24” in clinical notes is not a ratio but an ordinal (which includes non-numeric symbols like CF = count fingers etc). Should not be used for formulations."> 386 | name = <"PROPORTION"> 387 | ancestors = <"AMOUNT",...> 388 | properties = < 389 | ["denominator"] = (P_BMM_SINGLE_PROPERTY) < 390 | documentation = <"Denominator of ratio."> 391 | name = <"denominator"> 392 | type = <"Real"> 393 | is_mandatory = 394 | > 395 | ["numerator"] = (P_BMM_SINGLE_PROPERTY) < 396 | documentation = <"Numerator of ratio."> 397 | name = <"numerator"> 398 | type = <"Real"> 399 | is_mandatory = 400 | > 401 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 402 | documentation = <"Precision to which the numerator and denominator values of the proportion are expressed, in terms of number of decimal places. The value 0 implies an integral quantity. The value -1 implies no limit, i.e. any number of decimal places."> 403 | name = <"precision"> 404 | type = <"Integer"> 405 | > 406 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 407 | documentation = <"Indicates semantic type of proportion, including percent, unitary etc."> 408 | name = <"type"> 409 | type = <"CODED_TEXT"> 410 | is_mandatory = 411 | > 412 | > 413 | > 414 | ["QUANTIFIED"] = < 415 | documentation = <"Abstract class defining the concept of true quantified values, i.e. values which are not only ordered, but which have a precise magnitude."> 416 | name = <"QUANTIFIED"> 417 | ancestors = <"ORDERED_VALUE",...> 418 | properties = < 419 | ["value_status"] = (P_BMM_SINGLE_PROPERTY) < 420 | documentation = <"Optional status of magnitude with values: 421 | 422 | = : magnitude is a point value 423 | < : value is < magnitude 424 | > : value is > magnitude 425 | <= : value is <= magnitude 426 | >= : value is >= magnitude 427 | ~ : value is approximately magnitude 428 | If not present, meaning is = ."> 429 | name = <"value_status"> 430 | type = <"TEXT"> 431 | > 432 | > 433 | > 434 | ["QUANTITY"] = < 435 | documentation = <"Quantitified type representing scientific quantities, i.e. quantities expressed as a magnitude and units. Units were inspired by the Unified Code for Units of Measure (UCUM), developed by Gunther Schadow and Clement J. McDonald of The Regenstrief Institute. 436 | 437 | Can also be used for time durations, where it is more convenient to treat these as simply a number of seconds rather than days, months, years."> 438 | name = <"QUANTITY"> 439 | ancestors = <"AMOUNT",...> 440 | properties = < 441 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 442 | documentation = <"Precision to which the value of the quantity is expressed, in terms of number of decimal places. The value 0 implies an integral quantity. The value -1 implies no limit, i.e. any number of decimal places."> 443 | name = <"precision"> 444 | type = <"Integer"> 445 | > 446 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 447 | documentation = <"Units, expressed expressed as codes (generally UCUM), e.g. 'kg/m2', “mm[Hg]', 'ms-1', 'km/h'. Implemented accordingly in subtypes."> 448 | name = <"units"> 449 | type = <"CODED_TEXT"> 450 | is_mandatory = 451 | > 452 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 453 | documentation = <"Numeric magnitude of the quantity. 454 | 455 | "> 456 | name = <"value"> 457 | type = <"Real"> 458 | is_mandatory = 459 | > 460 | > 461 | > 462 | ["TERM_MAPPING"] = < 463 | documentation = <"Represents a coded term mapped to a TEXT, and the relative match of the target term with respect to the mapped item. Plain or coded text items may appear in the EHR for which one or mappings in alternative terminologies are required. Mappings are only used to enable computer processing, so they can only be instances of CODED_TEXT. Used for adding classification terms (e.g. adding ICD classifiers to SNOMED descriptive terms), or mapping into equivalents in other terminologies (e.g. across nursing vocabularies)."> 464 | name = <"TERM_MAPPING"> 465 | properties = < 466 | ["match"] = (P_BMM_SINGLE_PROPERTY) < 467 | documentation = <"The relative match of the target term with respect to the mapped text item. Result meanings: 468 | 469 | '>': the mapping is to a broader term e.g. orginal text = arbovirus infection , target = viral infection 470 | '=': the mapping is to a (supposedly) equivalent to the original item 471 | '<': the mapping is to a narrower term. e.g. original text = diabetes , mapping = diabetes mellitus . 472 | '?': the kind of mapping is unknown. 473 | The first three values are taken from the ISO standards 2788 ( Guide to Establishment and development of monolingual thesauri ) and 5964 ( Guide to Establishment and development of multilingual thesauri )."> 474 | name = <"match"> 475 | type = <"Character"> 476 | is_mandatory = 477 | > 478 | ["purpose"] = (P_BMM_SINGLE_PROPERTY) < 479 | documentation = <"Purpose of the mapping e.g. automated data mining , billing , interoperability"> 480 | name = <"purpose"> 481 | type = <"CODED_TEXT"> 482 | > 483 | ["target"] = (P_BMM_SINGLE_PROPERTY) < 484 | documentation = <"The target term of the mapping."> 485 | name = <"target"> 486 | type = <"CODED_TEXT"> 487 | is_mandatory = 488 | > 489 | > 490 | > 491 | ["TEXT"] = < 492 | documentation = <"Abstract parent for text and coded text item, which may contain any amount of legal characters arranged as e.g. words, sentences etc (i.e. one TEXT may be more than one word). Visual formatting and hyperlinks may be included."> 493 | name = <"TEXT"> 494 | ancestors = <"DATA_VALUE",...> 495 | properties = < 496 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 497 | documentation = <"Displayable rendition of the item, regardless of its underlying structure. For CODED_TEXT, this is the rubric of the complete term as provided by the terminology service. No carriage returns, line feeds, or other non-printing characters permitted."> 498 | name = <"value"> 499 | type = <"String"> 500 | is_mandatory = 501 | > 502 | ["mapping"] = (P_BMM_CONTAINER_PROPERTY) < 503 | documentation = <"Terms from other terminologies most closely matching this term, typically used where the originator (e.g. pathology lab) of information uses a local terminology but also supplies one or more equivalents from well known terminologies (e.g. LOINC)."> 504 | name = <"mapping"> 505 | type_def = < 506 | container_type = <"List"> 507 | type = <"TERM_MAPPING"> 508 | > 509 | cardinality = <|>=0|> 510 | > 511 | > 512 | > 513 | ["TIME"] = < 514 | documentation = <"Represents an absolute point in time from an origin usually interpreted as meaning the start of the current day, specified to a fraction of a second. Semantics defined by ISO 8601. 515 | 516 | Used for recording real world times, rather than scientifically measured fine amounts of time. The partial form is used for approximate times of events and substance administrations."> 517 | name = <"TIME"> 518 | ancestors = <"DATE_TIME",...> 519 | > 520 | ["URI_VALUE"] = < 521 | documentation = <"A reference to an object which conforms to the Universal Resource Identifier (URI) standard. See 'Universal Resource Identifiers in WWW' by Tim Berners-Lee at http://www.ietf.org/rfc/rfc3986.txt. This is a World-Wide Web RFC for global identification of resources. See http://www.w3.org/Addressing for a starting point on URIs."> 522 | name = <"URI_VALUE"> 523 | ancestors = <"DATA_VALUE",...> 524 | properties = < 525 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 526 | documentation = <"Value of URI"> 527 | name = <"value"> 528 | type = <"URI"> 529 | is_mandatory = 530 | > 531 | > 532 | > 533 | ["YESNO"] = < 534 | documentation = <"Items which are truly boolean data, such as true/false or yes/no answers. For such data, it is important to devise the meanings (usually questions in subjective data) carefully, so that the only allowed results are in fact true or false. 535 | 536 | Misuse: The DV_BOOLEAN class should not be used as a replacement for naively modelled enumerated types such as male/female etc. Such values should be coded, and in any case the enumeration often has more than two values."> 537 | name = <"YESNO"> 538 | ancestors = <"DATA_VALUE",...> 539 | properties = < 540 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 541 | documentation = <"The boolean value for the type."> 542 | name = <"value"> 543 | type = <"Boolean"> 544 | is_mandatory = 545 | > 546 | > 547 | > 548 | ["INSTANT"] = < 549 | documentation = <"An instant in time - known at least to the second and always includes a time zone. Note: This is intended for precisely observed times (typically system logs etc.), and not human-reported times - for them, use date and dateTime. instant is a more constrained dateTime"> 550 | name = <"INSTANT"> 551 | ancestors = <"DATE_TIME",...> 552 | > 553 | ["POSITIVE_INTEGER_COUNT"] = < 554 | documentation = <"An integer whose value is greater than zero."> 555 | name = <"POSITIVE_INTEGER_COUNT"> 556 | ancestors = <"UNSIGNED_INTEGER_COUNT",...> 557 | > 558 | ["UNSIGNED_INTEGER_COUNT"] = < 559 | documentation = <"An integer whose value is greater or equal to zero."> 560 | name = <"UNSIGNED_INTEGER_COUNT"> 561 | ancestors = <"COUNT",...> 562 | > 563 | ["RATIO"] = < 564 | documentation = <"A parameterizable ratio."> 565 | name = <"RATIO"> 566 | ancestors = <"DATA_VALUE",...> 567 | generic_parameter_defs = < 568 | ["T"] = < 569 | name = <"T"> 570 | conforms_to_type = <"ORDERED_VALUE"> 571 | > 572 | > 573 | properties = < 574 | ["denominator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 575 | documentation = <"The denominator of the ratio."> 576 | name = <"denominator"> 577 | type = <"T"> 578 | > 579 | ["numerator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 580 | documentation = <"The numerator of the ratio."> 581 | name = <"numerator"> 582 | type = <"T"> 583 | > 584 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 585 | documentation = <"Indicates semantic type of the ratio."> 586 | name = <"type"> 587 | type = <"CODED_TEXT"> 588 | > 589 | > 590 | > 591 | > 592 | primitive_types = < 593 | ["Any"] = < 594 | documentation = <"Abstract supertype. Usually maps to a type like “Any” or “Object” in an object system. Defined here to provide the value and reference equality semantics."> 595 | name = <"Any"> 596 | > 597 | ["Array"] = < 598 | documentation = <"physical container of items indexed by number"> 599 | name = <"Array"> 600 | generic_parameter_defs = < 601 | ["T"] = < 602 | name = <"T"> 603 | conforms_to_type = <"Any"> 604 | > 605 | > 606 | > 607 | ["List"] = < 608 | documentation = <"container of items, implied order, non-unique membership"> 609 | name = <"List"> 610 | generic_parameter_defs = < 611 | ["T"] = < 612 | name = <"T"> 613 | conforms_to_type = <"Any"> 614 | > 615 | > 616 | > 617 | ["Boolean"] = < 618 | documentation = <"logical True/False values; usually physically represented as an integer, but need not be"> 619 | name = <"Boolean"> 620 | > 621 | ["Byte"] = < 622 | documentation = <"a type whose value is an 8-bit value."> 623 | name = <"Byte"> 624 | > 625 | ["Character"] = < 626 | documentation = <"a type whose value is a member of an 8-bit character-set (ISO: 'repertoire')."> 627 | name = <"Character"> 628 | > 629 | ["Integer"] = < 630 | documentation = <"An integer type"> 631 | name = <"Integer"> 632 | > 633 | ["Real"] = < 634 | documentation = <"32-bit real numbers in any interoperable representation, including single-width IEEE floating point"> 635 | name = <"Real"> 636 | > 637 | ["String"] = < 638 | documentation = <"represents unicode-enabled strings"> 639 | name = <"String"> 640 | > 641 | ["URI"] = < 642 | documentation = <"A URI"> 643 | name = <"URI"> 644 | > 645 | ["TERMINOLOGY_CODE"] = < 646 | documentation = <"Reference to a concept in a terminology."> 647 | name = <"TERMINOLOGY_CODE"> 648 | properties = < 649 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 650 | documentation = <"The identifier of a concept in a terminology."> 651 | name = <"code"> 652 | type = <"String"> 653 | is_mandatory = 654 | > 655 | ["terminology_id"] = (P_BMM_SINGLE_PROPERTY) < 656 | documentation = <"The terminology that provides the namespace for the code attribute."> 657 | name = <"terminology_id"> 658 | type = <"String"> 659 | is_mandatory = 660 | > 661 | ["terminology_version"] = (P_BMM_SINGLE_PROPERTY) < 662 | documentation = <"The version of the terminology where the concept exists."> 663 | name = <"terminology_version"> 664 | type = <"String"> 665 | > 666 | ["uri"] = (P_BMM_SINGLE_PROPERTY) < 667 | documentation = <"A URI representation for the identifier of the concept represented by CODED_TEXT."> 668 | name = <"uri"> 669 | type = <"URI"> 670 | > 671 | > 672 | > 673 | > 674 | 675 | -------------------------------------------------------------------------------- /models/CIMI/Release-0.0.3/BMM/CIMI_RM_FOUNDATION.v.0.0.3.bmm: -------------------------------------------------------------------------------- 1 | -- Basic Metamodel Syntax Version 2 | bmm_version = <"2.3"> 3 | 4 | -- ---------------------------------- 5 | -- schema identification 6 | -- (schema_id computed as __) 7 | -- ---------------------------------- 8 | rm_publisher = <"CIMI"> 9 | schema_name = <"RM_FOUNDATION"> 10 | rm_release = <"0.0.3"> 11 | 12 | -- ---------------------------------- 13 | -- schema documentation 14 | -- ---------------------------------- 15 | schema_revision = <"Wed Jul 26 08:19:06 PDT 2017"> 16 | schema_lifecycle_state = <"dstu"> 17 | schema_description = <"CIMI_RM_FOUNDATION.v0.0.3.mdzip - Schema generated from UML"> 18 | 19 | 20 | includes = < 21 | ["1"] = < 22 | id = <"cimi_rm_core_0.0.3"> 23 | > 24 | > 25 | packages = < 26 | ["CIMI_Foundation_RM"] = < 27 | name = <"CIMI_Foundation_RM"> 28 | packages = < 29 | ["Foundation"] = < 30 | name = <"Foundation"> 31 | classes = <"COMPOSITION", "CONTENT", "SECTION", "ENTRY", "CLUSTER", "VIRTUAL_CLUSTER", "BASE_ENTITY"> 32 | > 33 | ["Party"] = < 34 | name = <"Party"> 35 | classes = <"PARTY", "PARTY_RELATIONSHIP", "PARTICIPATION", "BASE_ROLE", "BASE_ACTOR"> 36 | > 37 | > 38 | > 39 | > 40 | class_definitions = < 41 | ["COMPOSITION"] = < 42 | documentation = <"A composition is considered the unit of modification of the record, the unit of transmission in record extracts, and the unit of attestation by authorising clinicians. In this latter sense, it may be considered equivalent to a signed document."> 43 | name = <"COMPOSITION"> 44 | ancestors = <"LOCATABLE",...> 45 | properties = < 46 | ["content"] = (P_BMM_CONTAINER_PROPERTY) < 47 | documentation = <"The content that makes up a composition."> 48 | name = <"content"> 49 | type_def = < 50 | container_type = <"List"> 51 | type = <"CONTENT"> 52 | > 53 | cardinality = <|>=0|> 54 | > 55 | > 56 | > 57 | ["CONTENT"] = < 58 | documentation = <"Abstract ancestor of all concrete content types. A unit of content that makes up a composition - e.g., a clinical statement in a patient record, a simple or composite action is a knowledge document."> 59 | name = <"CONTENT"> 60 | ancestors = <"LOCATABLE",...> 61 | > 62 | ["SECTION"] = < 63 | documentation = <"Represents a heading in a heading structure, or section tree . Can also be used to represent a collection of entries without metadata. (For collections of entries with shared metadata, use COMPOUND _ENTRY instead). Created according to archetyped structures for typical headings such as SOAP, physical examination, but also pathology result heading structures. Should not be used instead of ENTRY hierarchical structures."> 64 | name = <"SECTION"> 65 | ancestors = <"CONTENT",...> 66 | properties = < 67 | ["content"] = (P_BMM_CONTAINER_PROPERTY) < 68 | documentation = <"The content that makes up a section in a composition."> 69 | name = <"content"> 70 | type_def = < 71 | container_type = <"List"> 72 | type = <"CONTENT"> 73 | > 74 | cardinality = <|>=0|> 75 | > 76 | > 77 | > 78 | ["ENTRY"] = < 79 | documentation = <"An ENTRY is the root of a logical item of hard clinical information created in the clinical statement context, within a clinical session or of clinical knowledge in a knowledge artifact. 80 | 81 | With regards to clinical information entries, there can be numerous such contexts in a clinical session. Observations and other Entry types only ever document information captured/created in the event documented by the enclosing Composition. 82 | 83 | An ENTRY is also the minimal unit of information any query should return, since a whole ENTRY (including subparts) records spatial structure, timing information, and contextual information, as well as the subject and generator of the information. 84 | "> 85 | name = <"ENTRY"> 86 | ancestors = <"CONTENT",...> 87 | > 88 | ["CLUSTER"] = < 89 | documentation = <"Abstract class representing a reusable structure in a model such as an address or an entity such as a device."> 90 | name = <"CLUSTER"> 91 | ancestors = <"LOCATABLE",...> 92 | > 93 | ["VIRTUAL_CLUSTER"] = < 94 | documentation = <"A dependent model structure designed to support attribute reuse but which may be ignored by tooling such as code generators. This allows grouping of attributes to be used in a number of compositional structures in order to encourage pattern reuse and consistency but which can be structurally flattened in a derived artifact (e.g., a java class representing the composition). An example of this pattern is the CIMI Clinical Statement pattern which combines statement context and topic to build the set of relevant clinical statements."> 95 | name = <"VIRTUAL_CLUSTER"> 96 | ancestors = <"CLUSTER",...> 97 | > 98 | ["BASE_ENTITY"] = < 99 | documentation = <"Parent class for all entities."> 100 | name = <"BASE_ENTITY"> 101 | ancestors = <"CLUSTER",...> 102 | > 103 | ["PARTY"] = < 104 | documentation = <"A party involved in an activity. PARTY has two specializations: ACTOR and ROLE."> 105 | name = <"PARTY"> 106 | ancestors = <"LOCATABLE",...> 107 | properties = < 108 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 109 | documentation = <"Code for the party."> 110 | name = <"type"> 111 | type = <"CODED_TEXT"> 112 | is_mandatory = 113 | > 114 | ["relationship"] = (P_BMM_CONTAINER_PROPERTY) < 115 | documentation = <"Party relationship(s) associated with this party. E.g., the roles an actor may play."> 116 | name = <"relationship"> 117 | type_def = < 118 | container_type = <"List"> 119 | type = <"PARTY_RELATIONSHIP"> 120 | > 121 | cardinality = <|>=0|> 122 | > 123 | ["identifier"] = (P_BMM_CONTAINER_PROPERTY) < 124 | documentation = <"An identifier for the party."> 125 | name = <"identifier"> 126 | type_def = < 127 | container_type = <"List"> 128 | type = <"IDENTIFIER"> 129 | > 130 | cardinality = <|>=0|> 131 | > 132 | > 133 | > 134 | ["PARTY_RELATIONSHIP"] = < 135 | documentation = <"Association class relating two parties such as the association of an actor with one or more roles."> 136 | name = <"PARTY_RELATIONSHIP"> 137 | ancestors = <"ASSOCIATION_CLASS",...> 138 | properties = < 139 | ["party"] = (P_BMM_SINGLE_PROPERTY) < 140 | documentation = <"The party target of the relationship."> 141 | name = <"party"> 142 | type = <"PARTY"> 143 | is_mandatory = 144 | > 145 | > 146 | > 147 | ["PARTICIPATION"] = < 148 | documentation = <"Model of a participation of a Party (any Actor or Role) in an activity. Used to represent any participation of a Party in some activity, which is not explicitly in the model, e.g. assisting nurse. Can be used to record past or future participations. Should not be used in place of more permanent relationships between demographic entities."> 149 | name = <"PARTICIPATION"> 150 | ancestors = <"ASSOCIATION_CLASS",...> 151 | properties = < 152 | ["party"] = (P_BMM_SINGLE_PROPERTY) < 153 | documentation = <"A party involved in an activity. PARTY has two specializations: ACTOR and ROLE."> 154 | name = <"party"> 155 | type = <"PARTY"> 156 | is_mandatory = 157 | > 158 | > 159 | > 160 | ["BASE_ROLE"] = < 161 | documentation = <"Capacity in which an actor is involved in an activity. For instance, 'attending physician'."> 162 | name = <"BASE_ROLE"> 163 | ancestors = <"PARTY",...> 164 | > 165 | ["BASE_ACTOR"] = < 166 | documentation = <"An entity acting as an actor assuming a role in a participation. For instance, a person may act as a provider in an encounter with a patient."> 167 | name = <"BASE_ACTOR"> 168 | ancestors = <"PARTY",...> 169 | properties = < 170 | ["actor"] = (P_BMM_SINGLE_PROPERTY) < 171 | documentation = <"Entity involved in an activity. Typically a specific person or organization."> 172 | name = <"actor"> 173 | type = <"BASE_ENTITY"> 174 | is_mandatory = 175 | > 176 | > 177 | > 178 | > 179 | 180 | -------------------------------------------------------------------------------- /models/CIMI/Release-0.0.4/BMM/CIMI_RM_CORE.v.0.0.4.bmm: -------------------------------------------------------------------------------- 1 | -- Basic Metamodel Syntax Version 2 | bmm_version = <"2.3"> 3 | 4 | -- ---------------------------------- 5 | -- schema identification 6 | -- (schema_id computed as __) 7 | -- ---------------------------------- 8 | rm_publisher = <"CIMI"> 9 | schema_name = <"RM_CORE"> 10 | rm_release = <"0.0.4"> 11 | 12 | -- ---------------------------------- 13 | -- schema documentation 14 | -- ---------------------------------- 15 | schema_revision = <"Thu Dec 14 17:20:59 PST 2017"> 16 | schema_lifecycle_state = <"Informative"> 17 | schema_description = <"CIMI_RM_CORE.v0.0.4.mdzip - Schema generated from UML"> 18 | 19 | packages = < 20 | ["CIMI_Reference_Model"] = < 21 | name = <"CIMI_Reference_Model"> 22 | packages = < 23 | ["Core"] = < 24 | name = <"Core"> 25 | classes = <"Archetyped", "Locatable"> 26 | > 27 | ["DataTypes"] = < 28 | name = <"DataTypes"> 29 | classes = <"NumericalValue", "CodedText", "IntegerType", "DataType", "Date", "TemporalValue", "Duration", "EmbeddedContent", "IntervalValue", "Multimedia", "OrdinalConcept", "ParsableContent", "PlainText", "OrderedValue", "Quantity", "TermMapping", "Text", "Time", "UriType", "Instant", "PositiveInteger", "UnsignedInteger", "Ratio", "Concept", "CodeSystem", "GpsLocation", "DateTime", "Decimal"> 30 | > 31 | ["PrimitiveTypes"] = < 32 | name = <"PrimitiveTypes"> 33 | classes = <"Any", "Array", "List", "Boolean", "Byte", "Character", "Integer", "Real", "String", "Uri", "TerminologyCode"> 34 | > 35 | > 36 | > 37 | > 38 | class_definitions = < 39 | ["Archetyped"] = < 40 | documentation = <"Archetypes act as the configuration basis for the particular structures of instances defined by the reference model. To enable archetypes to be used to create valid data, key classes in the reference model act as root points for archetyping; accordingly, these classes have the archetype_details attribute set. 41 | 42 | An instance of the class ARCHETYPED contains the relevant archetype identification information, allowing generating archetypes to be matched up with data instances."> 43 | name = <"Archetyped"> 44 | properties = < 45 | ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < 46 | documentation = <"Globally unique archetype identifier."> 47 | name = <"archetype_id"> 48 | type = <"String"> 49 | is_mandatory = 50 | > 51 | ["rm_version"] = (P_BMM_SINGLE_PROPERTY) < 52 | documentation = <"Version of the CIMI reference model used to create this object. Expressed in terms of the release version string, e.g. 1.0 , 1.2.4 ."> 53 | name = <"rm_version"> 54 | type = <"String"> 55 | is_mandatory = 56 | > 57 | > 58 | > 59 | ["Locatable"] = < 60 | documentation = <"Most classes in the CIMI reference model inherit from the Locatable class, which defines the idea of 'locatability in an archetyped structure'. Locatable defines a runtime name and an archetype_node_id. The archetype_node_id is the standardised semantic code for a node and comes from the corresponding node in the archetype used to create the data. The only exception is at archetype root points in data, where archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. Locatable also provides the attribute archetype_details, which is non-Void for archetype root points in data, and carries meta-data relevant to root points. The name attribute carries a name created at runtime. The 'meaning' of any node is derived formally from the archetype by obtaining the text value for the archetype_node_id code from the archetype ontology section, in the language required."> 61 | name = <"Locatable"> 62 | properties = < 63 | ["archetype_node_id"] = (P_BMM_SINGLE_PROPERTY) < 64 | documentation = <"The standardised semantic code for a node, which comes from the corresponding node in the archetype used to create the data. For archetype root points, the archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. "> 65 | name = <"archetype_node_id"> 66 | type = <"String"> 67 | is_mandatory = 68 | > 69 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 70 | documentation = <"A name created at runtime"> 71 | name = <"name"> 72 | type = <"String"> 73 | is_mandatory = 74 | > 75 | ["archetype_details"] = (P_BMM_SINGLE_PROPERTY) < 76 | documentation = <"Archetype_details carries meta-data relevant to root points. It is null for non-root points in data."> 77 | name = <"archetype_details"> 78 | type = <"Archetyped"> 79 | > 80 | > 81 | > 82 | ["NumericalValue"] = < 83 | documentation = <"Abstract class defining quantified amounts. "> 84 | name = <"NumericalValue"> 85 | ancestors = <"OrderedValue",...> 86 | properties = < 87 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 88 | documentation = <"The accuracy of the value, in terms of number of significant figures. For example, a number like 12,345.67 might be declared as accurate to 3 significant digits, meaning digits in the 10's place, 1's place, or to the right of the decimal represent false precision. "> 89 | name = <"precision"> 90 | type = <"Integer"> 91 | > 92 | > 93 | > 94 | ["CodedText"] = < 95 | documentation = <"A Text in a human language whose meaning is captured as concept in a formal terminology. Since CodedText is a subtype of Text, it can be used in place of it, effectively allowing the type Text to mean a text that may optionally be coded. A common use is to record the coded version of a verbatim text (a text originally selected or entered by a human). "> 96 | name = <"CodedText"> 97 | ancestors = <"Text",...> 98 | properties = < 99 | ["concept"] = (P_BMM_SINGLE_PROPERTY) < 100 | documentation = <"A concept from a formal terminology that is equivalent to the semantics of CodedText.value."> 101 | name = <"concept"> 102 | type = <"Concept"> 103 | > 104 | ["mapping"] = (P_BMM_CONTAINER_PROPERTY) < 105 | documentation = <"Modified the definition further as follows: A concept, usually drawn from an alternative code system, that is related to CodedText.concept. Mapping may be used, for instance, when the originator uses a local terminology but also supplies one or more equivalents from standard terminologies (e.g. LOINC)."> 106 | name = <"mapping"> 107 | type_def = < 108 | container_type = <"List"> 109 | type = <"TermMapping"> 110 | > 111 | cardinality = <|>=0|> 112 | > 113 | > 114 | > 115 | ["IntegerType"] = < 116 | documentation = <"A countable quantity, used for values such as number of pregnancies or number of cigarettes smoked in a day. Not to be used for amounts that have units."> 117 | name = <"IntegerType"> 118 | ancestors = <"NumericalValue",...> 119 | properties = < 120 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 121 | documentation = <"The integer count value."> 122 | name = <"value"> 123 | type = <"Integer"> 124 | is_mandatory = 125 | > 126 | > 127 | > 128 | ["DataType"] = < 129 | documentation = <"Serves as a common ancestor of all CIMI simple and complex data types."> 130 | name = <"DataType"> 131 | > 132 | ["Date"] = < 133 | documentation = <"Represents one day in time, as measured on the Gregorian calendar, used for recording time when the exact time is unknown or excessive precision is undesired, such as birth dates. Date uses the semantics defined by ISO 8601."> 134 | name = <"Date"> 135 | ancestors = <"TemporalValue",...> 136 | > 137 | ["TemporalValue"] = < 138 | documentation = <"An abstract class representing a point in time to some accuracy, following the semantics of ISO 8601."> 139 | name = <"TemporalValue"> 140 | ancestors = <"OrderedValue",...> 141 | properties = < 142 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 143 | documentation = <"A date/time string following the semantics of ISO8601."> 144 | name = <"value"> 145 | type = <"String"> 146 | is_mandatory = 147 | > 148 | > 149 | > 150 | ["Duration"] = < 151 | documentation = <"Represents a length of time, independent of any specific point time. Duration is expressed in customary format, i.e. days, hours, minutes, etc. Note that durations cannot be used to represent points or intervals in time."> 152 | name = <"Duration"> 153 | ancestors = <"Quantity",...> 154 | properties = < 155 | ["durationText"] = (P_BMM_SINGLE_PROPERTY) < 156 | documentation = <"An string expressed in terms of days, hours, minutes, seconds, whose semantics follow ISO8601."> 157 | name = <"durationText"> 158 | type = <"String"> 159 | > 160 | > 161 | > 162 | ["EmbeddedContent"] = < 163 | documentation = <"Abstract parent class for all types of encapsulated data, such as media files."> 164 | name = <"EmbeddedContent"> 165 | ancestors = <"DataType",...> 166 | > 167 | ["IntervalValue"] = < 168 | documentation = <"A generic class defining an interval (i.e. range) of any ordered value type. The type T must be a descendant of the type OrderedValue."> 169 | name = <"IntervalValue"> 170 | ancestors = <"DataType",...> 171 | generic_parameter_defs = < 172 | ["T"] = < 173 | name = <"T"> 174 | conforms_to_type = <"OrderedValue"> 175 | > 176 | > 177 | properties = < 178 | ["lowerIncluded"] = (P_BMM_SINGLE_PROPERTY) < 179 | documentation = <"A flag, when true, indicates the specified lower bound is part of the interval. If the interval is lower unbounded, this flag is ignored."> 180 | name = <"lowerIncluded"> 181 | type = <"Boolean"> 182 | is_mandatory = 183 | > 184 | ["lowerUnbounded"] = (P_BMM_SINGLE_PROPERTY) < 185 | documentation = <"A flag indicating the interval does not have a lower bound. If true, a lower bound may not be specified."> 186 | name = <"lowerUnbounded"> 187 | type = <"Boolean"> 188 | is_mandatory = 189 | > 190 | ["upperIncluded"] = (P_BMM_SINGLE_PROPERTY) < 191 | documentation = <"A flag, when true, indicates the specified upper bound is part of the interval. If the interval is upper unbounded, this flag is ignored."> 192 | name = <"upperIncluded"> 193 | type = <"Boolean"> 194 | is_mandatory = 195 | > 196 | ["upperUnbounded"] = (P_BMM_SINGLE_PROPERTY) < 197 | documentation = <"A flag indicating the interval does not have an upper bound. If true, an upper bound may not be specified"> 198 | name = <"upperUnbounded"> 199 | type = <"Boolean"> 200 | is_mandatory = 201 | > 202 | ["lower"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 203 | documentation = <"The lower bound of the interval. Values below the lower bound lie outside the interval."> 204 | name = <"lower"> 205 | type = <"T"> 206 | > 207 | ["upper"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 208 | documentation = <"The upper bound of the interval. Values above the upper bound lie outside the interval."> 209 | name = <"upper"> 210 | type = <"T"> 211 | > 212 | > 213 | > 214 | ["Multimedia"] = < 215 | documentation = <"A representation of media files, such as audio, visual, biosignal, and similar types."> 216 | name = <"Multimedia"> 217 | ancestors = <"EmbeddedContent",...> 218 | properties = < 219 | ["alternateText"] = (P_BMM_SINGLE_PROPERTY) < 220 | documentation = <"Text to display in lieu of multimedia display/replay."> 221 | name = <"alternateText"> 222 | type = <"Byte"> 223 | > 224 | ["data"] = (P_BMM_CONTAINER_PROPERTY) < 225 | documentation = <"The actual data found at uri, if supplied inline."> 226 | name = <"data"> 227 | type_def = < 228 | container_type = <"List"> 229 | type = <"Byte"> 230 | > 231 | cardinality = <|>=0|> 232 | > 233 | ["mediaType"] = (P_BMM_SINGLE_PROPERTY) < 234 | documentation = <"Data media type representing the mime type of the content."> 235 | name = <"mediaType"> 236 | type = <"Concept"> 237 | is_mandatory = 238 | > 239 | ["resourceIdentifier"] = (P_BMM_SINGLE_PROPERTY) < 240 | documentation = <"URI reference to electronic information stored outside the record as a file, database entry etc, if supplied as a reference."> 241 | name = <"resourceIdentifier"> 242 | type = <"UriType"> 243 | > 244 | > 245 | > 246 | ["OrdinalConcept"] = < 247 | documentation = <"Represents rankings and scores, e.g. pain, Apgar values, etc, where there is a) an implied ordering, b) no implication that the distance between each value is constant, and c) the total number of values is finite. This class can be used for recording symbolic values, e.g., the results on a urinalysis strip {neg, trace, moderate, ...} or numbers like Agar values {0, 1, 2, 3, ...}. 248 | Note that although the term "ordinal" in mathematics means natural numbers only, here any integer is allowed, since negative and zero values are often used by medical professionals for values around a neutral point, for example {-3, -2, -1, 0, 1, 2, 3} for reflex response values. 249 | "> 250 | name = <"OrdinalConcept"> 251 | ancestors = <"Concept",...> 252 | properties = < 253 | ["positionInSet"] = (P_BMM_SINGLE_PROPERTY) < 254 | documentation = <"The rank order in the enumeration of values, used for sorting. While any integer value can be used, the values need to reflect the order in the set. For example, ordering as {1, 2, 3, ...} has the same effect as ordering as {0, 1, 2, ...}"> 255 | name = <"positionInSet"> 256 | type = <"Integer"> 257 | is_mandatory = 258 | > 259 | > 260 | > 261 | ["ParsableContent"] = < 262 | documentation = <"Encapsulated data expressed as a parsable text. The internal syntax of the data item is not described, but must follow the given formalism."> 263 | name = <"ParsableContent"> 264 | ancestors = <"EmbeddedContent",...> 265 | properties = < 266 | ["formalism"] = (P_BMM_SINGLE_PROPERTY) < 267 | documentation = <"Name of the formalism, e.g. GLIF 1.0 , Proforma etc."> 268 | name = <"formalism"> 269 | type = <"Concept"> 270 | is_mandatory = 271 | > 272 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 273 | documentation = <"The string, which may validly be empty in some syntaxes."> 274 | name = <"value"> 275 | type = <"String"> 276 | is_mandatory = 277 | > 278 | > 279 | > 280 | ["PlainText"] = < 281 | documentation = <"A text with optional human language. While the attributes of PlainText and Text are the same, the PlainText class should be used when the text will not be coded (since CodedText is a child of Text but not PlainText). "> 282 | name = <"PlainText"> 283 | ancestors = <"Text",...> 284 | > 285 | ["OrderedValue"] = < 286 | documentation = <"Abstract class defining a value on a number line or time line, whose location (magnitude) may be given precisely, or bounded by another value. "> 287 | name = <"OrderedValue"> 288 | ancestors = <"DataType",...> 289 | > 290 | ["Quantity"] = < 291 | documentation = <"Quantified type representing scientific quantities, i.e. quantities expressed as a magnitude and units of measure. Quantities can also be used for time durations, where it is more convenient to treat these as simply a number of seconds rather than days, months, years."> 292 | name = <"Quantity"> 293 | ancestors = <"NumericalValue",...> 294 | properties = < 295 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 296 | documentation = <"Units, expressed expressed as codes (generally UCUM), e.g. "kg/m2", "mm[Hg]", "ms-1", "km/h". Implemented accordingly in subtypes."> 297 | name = <"units"> 298 | type = <"Concept"> 299 | is_mandatory = 300 | > 301 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 302 | documentation = <"Numeric magnitude of the quantity. 303 | 304 | "> 305 | name = <"value"> 306 | type = <"Real"> 307 | is_mandatory = 308 | > 309 | > 310 | > 311 | ["TermMapping"] = < 312 | documentation = <"Represents an alternative ("mapped") Concept associated with a source concept (i.e., CodedText.concept or the textual value of the CodedText when no equivalent concept has been defined), and the relative match of the mapped Concept with respect to the source Concept. Mappings may be used to add classification terms (e.g. adding ICD classifiers to SNOMED descriptive terms), for computational convenience, or to provide equivalents in other terminologies (e.g. across nursing vocabularies)."> 313 | name = <"TermMapping"> 314 | properties = < 315 | ["match"] = (P_BMM_SINGLE_PROPERTY) < 316 | documentation = <"The relative match of the mapped concept to the original (target) concept. Examples include broader (i.e., the mapped term is more general than the original), equivalent, narrower (e.g. mapped concept is "atypical diabetes mellitus" and the original term is "diabetes mellitus"), or unknown. "> 317 | name = <"match"> 318 | type = <"Concept"> 319 | is_mandatory = 320 | > 321 | ["purpose"] = (P_BMM_SINGLE_PROPERTY) < 322 | documentation = <"The purpose of the mapping, e.g., automated data mining, billing, or interoperability."> 323 | name = <"purpose"> 324 | type = <"Concept"> 325 | > 326 | ["target"] = (P_BMM_SINGLE_PROPERTY) < 327 | documentation = <"The target concept of the mapping, i.e., the original concept that has been mapped. "> 328 | name = <"target"> 329 | type = <"Concept"> 330 | is_mandatory = 331 | > 332 | > 333 | > 334 | ["Text"] = < 335 | documentation = <"Abstract parent for plain textual and coded text items, which may contain any amount of legal characters arranged as e.g. words, sentences etc (i.e. one Text may be more than one word). Visual formatting and hyperlinks may be included."> 336 | name = <"Text"> 337 | ancestors = <"DataType",...> 338 | properties = < 339 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 340 | documentation = <"The text itself, which may contain any amount of legal characters arranged as e.g. words, sentences etc. Visual formatting and hyperlinks may be included."> 341 | name = <"value"> 342 | type = <"String"> 343 | is_mandatory = 344 | > 345 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 346 | documentation = <"The text's language."> 347 | name = <"language"> 348 | type = <"Concept"> 349 | > 350 | > 351 | > 352 | ["Time"] = < 353 | documentation = <"Represents a point in time from an origin usually interpreted as meaning the start of the current day. Used for recording a time of (any) day, not an absolute point in time. Typically used for times of events such as substance administrations."> 354 | name = <"Time"> 355 | ancestors = <"TemporalValue",...> 356 | > 357 | ["UriType"] = < 358 | documentation = <"A reference to an object which conforms to the Universal Resource Identifier (URI) standard. See "Universal Resource Identifiers in WWW" by Tim Berners-Lee at http://www.ietf.org/rfc/rfc3986.txt."> 359 | name = <"UriType"> 360 | ancestors = <"DataType",...> 361 | properties = < 362 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 363 | documentation = <"Value of URI"> 364 | name = <"value"> 365 | type = <"String"> 366 | is_mandatory = 367 | > 368 | > 369 | > 370 | ["Instant"] = < 371 | documentation = <"An instant in time - known at least to the second and always includes a time zone. Note: This is intended for precisely observed times (typically system logs etc.), and not human-reported times - for them, use date and dateTime. instant is a more constrained dateTime"> 372 | name = <"Instant"> 373 | ancestors = <"DateTime",...> 374 | > 375 | ["PositiveInteger"] = < 376 | documentation = <"An integer whose value is greater than zero."> 377 | name = <"PositiveInteger"> 378 | ancestors = <"UnsignedInteger",...> 379 | > 380 | ["UnsignedInteger"] = < 381 | documentation = <"An integer whose value is greater or equal to zero."> 382 | name = <"UnsignedInteger"> 383 | ancestors = <"IntegerType",...> 384 | > 385 | ["Ratio"] = < 386 | documentation = <"A parameterizable ratio, where the numerator and denominator should not be reduced to a decimal, such as 3 tablets/day. "> 387 | name = <"Ratio"> 388 | ancestors = <"DataType",...> 389 | generic_parameter_defs = < 390 | ["T"] = < 391 | name = <"T"> 392 | conforms_to_type = <"NumericalValue"> 393 | > 394 | > 395 | properties = < 396 | ["denominator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 397 | documentation = <"The denominator of the ratio."> 398 | name = <"denominator"> 399 | type = <"T"> 400 | > 401 | ["numerator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 402 | documentation = <"The numerator of the ratio."> 403 | name = <"numerator"> 404 | type = <"T"> 405 | > 406 | > 407 | > 408 | ["Concept"] = < 409 | documentation = <"The representation of a conceptual idea represented by an ontology or controlled vocabulary. "> 410 | name = <"Concept"> 411 | ancestors = <"DataType"> 412 | properties = < 413 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 414 | name = <"code"> 415 | type = <"TerminologyCode"> 416 | is_mandatory = 417 | > 418 | ["display"] = (P_BMM_SINGLE_PROPERTY) < 419 | documentation = <"The preferred language-specific textual rendition of the code attribute, preferably as specified by the code system."> 420 | name = <"display"> 421 | type = <"String"> 422 | > 423 | > 424 | > 425 | 426 | ["CodeSystem"] = < 427 | documentation = <"A formal terminology system."> 428 | name = <"CodeSystem"> 429 | ancestors = <"DataType",...> 430 | properties = < 431 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 432 | documentation = <"The human-readable designation of the code system, for example, LOINC or SNOMED-CT."> 433 | name = <"name"> 434 | type = <"String"> 435 | is_mandatory = 436 | > 437 | ["version"] = (P_BMM_SINGLE_PROPERTY) < 438 | documentation = <"The version of the vocabulary being used, if applicable."> 439 | name = <"version"> 440 | type = <"String"> 441 | is_mandatory = 442 | > 443 | ["uri"] = (P_BMM_SINGLE_PROPERTY) < 444 | documentation = <"The URI formally identifying the code system in a version-independent manner. "> 445 | name = <"uri"> 446 | type = <"UriType"> 447 | > 448 | > 449 | > 450 | ["GpsLocation"] = < 451 | documentation = <"A location on the surface of the Earth, described by a latitude and longitude (and optional altitude)."> 452 | name = <"GpsLocation"> 453 | ancestors = <"DataType",...> 454 | properties = < 455 | ["longitude"] = (P_BMM_SINGLE_PROPERTY) < 456 | documentation = <"Longitude with WGS84 datum"> 457 | name = <"longitude"> 458 | type = <"Real"> 459 | is_mandatory = 460 | > 461 | ["latitude"] = (P_BMM_SINGLE_PROPERTY) < 462 | documentation = <"Latitude with WGS84 datum"> 463 | name = <"latitude"> 464 | type = <"Real"> 465 | is_mandatory = 466 | > 467 | ["altitude"] = (P_BMM_SINGLE_PROPERTY) < 468 | documentation = <"Altitude with WGS84 datum"> 469 | name = <"altitude"> 470 | type = <"Real"> 471 | > 472 | > 473 | > 474 | ["DateTime"] = < 475 | documentation = <"A date, date and time or partial date (e.g. just year or year + month) as used in human communication. If hours and minutes are specified, a time zone SHALL be populated. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. The time "24:00" is not allowed."> 476 | name = <"DateTime"> 477 | ancestors = <"TemporalValue",...> 478 | > 479 | ["Decimal"] = < 480 | documentation = <"Rational numbers that have a decimal representation. Decimals may not use exponents, and leading 0 digits are not allowed."> 481 | name = <"Decimal"> 482 | ancestors = <"NumericalValue",...> 483 | properties = < 484 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 485 | documentation = <"The value of the decimal number."> 486 | name = <"value"> 487 | type = <"Real"> 488 | is_mandatory = 489 | > 490 | > 491 | > 492 | ["Any"] = < 493 | documentation = <"Abstract supertype. Usually maps to a type like "Any" or "Object" in an object system. Defined here to provide the value and reference equality semantics."> 494 | name = <"Any"> 495 | > 496 | ["Array"] = < 497 | documentation = <"A collection of ordered items that may be are indexed by number."> 498 | name = <"Array"> 499 | generic_parameter_defs = < 500 | ["T"] = < 501 | name = <"T"> 502 | conforms_to_type = <"Any"> 503 | > 504 | > 505 | > 506 | ["List"] = < 507 | documentation = <"An ordered collection of items with non-unique membership."> 508 | name = <"List"> 509 | generic_parameter_defs = < 510 | ["T"] = < 511 | name = <"T"> 512 | conforms_to_type = <"Any"> 513 | > 514 | > 515 | > 516 | ["Boolean"] = < 517 | documentation = <"logical True/False values; usually physically represented as an integer, but need not be"> 518 | name = <"Boolean"> 519 | > 520 | ["Byte"] = < 521 | documentation = <"a type whose value is an 8-bit value."> 522 | name = <"Byte"> 523 | > 524 | ["Character"] = < 525 | documentation = <"a type whose value is a member of an 8-bit character-set (ISO: "repertoire")."> 526 | name = <"Character"> 527 | > 528 | ["Integer"] = < 529 | documentation = <"An integer type"> 530 | name = <"Integer"> 531 | > 532 | ["Real"] = < 533 | documentation = <"32-bit real numbers in any interoperable representation, including single-width IEEE floating point"> 534 | name = <"Real"> 535 | > 536 | ["String"] = < 537 | documentation = <"represents unicode-enabled strings"> 538 | name = <"String"> 539 | > 540 | ["Uri"] = < 541 | documentation = <"A URI"> 542 | name = <"Uri"> 543 | > 544 | ["TerminologyCode"] = < 545 | name = <"TerminologyCode"> 546 | ancestors = <"Any"> 547 | properties = < 548 | ["terminologyId"] = (P_BMM_SINGLE_PROPERTY) < 549 | name = <"terminologyId"> 550 | type = <"String"> 551 | is_mandatory = 552 | > 553 | ["terminologyVersion"] = (P_BMM_SINGLE_PROPERTY) < 554 | name = <"terminologyVersion"> 555 | type = <"String"> 556 | > 557 | ["codeString"] = (P_BMM_SINGLE_PROPERTY) < 558 | name = <"codeString"> 559 | type = <"String"> 560 | is_mandatory = 561 | > 562 | ["uri"] = (P_BMM_SINGLE_PROPERTY) < 563 | name = <"uri"> 564 | type = <"Uri"> 565 | is_mandatory = 566 | > 567 | > 568 | > 569 | 570 | 571 | > 572 | 573 | -------------------------------------------------------------------------------- /models/CIMI/Release-0.0.5/BMM/CIMI_RM_CORE.v.0.0.5.bmm: -------------------------------------------------------------------------------- 1 | -- Basic Metamodel Syntax Version 2 | bmm_version = <"2.3"> 3 | 4 | -- ---------------------------------- 5 | -- schema identification 6 | -- (schema_id computed as __) 7 | -- ---------------------------------- 8 | rm_publisher = <"CIMI"> 9 | schema_name = <"RM_CORE"> 10 | rm_release = <"0.0.5"> 11 | 12 | -- ---------------------------------- 13 | -- schema documentation 14 | -- ---------------------------------- 15 | schema_revision = <"Mon Apr 09 21:11:16 PDT 2018"> 16 | schema_lifecycle_state = <"Informative"> 17 | schema_description = <"CIMI_RM_CORE.v0.0.5.mdzip - Schema generated from UML"> 18 | 19 | packages = < 20 | ["CIMI_Reference_Model"] = < 21 | name = <"CIMI_Reference_Model"> 22 | packages = < 23 | ["Core"] = < 24 | name = <"Core"> 25 | classes = <"Archetyped", "Locatable", "IndependentArchetypable", "NonIndependentArchetypable"> 26 | > 27 | ["DataTypes"] = < 28 | name = <"DataTypes"> 29 | classes = <"NumericalValue", "CodedText", "IntegerType", "DataType", "Date", "TemporalValue", "Duration", "EmbeddedContent", "IntervalValue", "Multimedia", "OrdinalConcept", "ParsableContent", "PlainText", "OrderedValue", "Quantity", "TermMapping", "Text", "Time", "UriType", "Instant", "PositiveInteger", "UnsignedInteger", "Ratio", "Concept", "GpsLocation", "DateTime", "Decimal"> 30 | > 31 | ["PrimitiveTypes"] = < 32 | name = <"PrimitiveTypes"> 33 | classes = <"Any", "Array", "List", "Boolean", "Byte", "Character", "Integer", "Real", "String", "URI", "TerminologyCode"> 34 | > 35 | > 36 | > 37 | > 38 | class_definitions = < 39 | ["Archetyped"] = < 40 | documentation = <"Archetypes act as the configuration basis for the particular structures of instances defined by the reference model. To enable archetypes to be used to create valid data, key classes in the reference model act as root points for archetyping; accordingly, these classes have the archetype_details attribute set. 41 | 42 | An instance of the class ARCHETYPED contains the relevant archetype identification information, allowing generating archetypes to be matched up with data instances."> 43 | name = <"Archetyped"> 44 | properties = < 45 | ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < 46 | documentation = <"Globally unique archetype identifier."> 47 | name = <"archetype_id"> 48 | type = <"String"> 49 | is_mandatory = 50 | > 51 | ["rm_version"] = (P_BMM_SINGLE_PROPERTY) < 52 | documentation = <"Version of the CIMI reference model used to create this object. Expressed in terms of the release version string, e.g. 1.0 , 1.2.4 ."> 53 | name = <"rm_version"> 54 | type = <"String"> 55 | is_mandatory = 56 | > 57 | > 58 | > 59 | ["Locatable"] = < 60 | documentation = <"Most classes in the CIMI reference model inherit from the Locatable class, which defines the idea of 'locatability in an archetyped structure'. Locatable defines a runtime name and an archetype_node_id. The archetype_node_id is the standardised semantic code for a node and comes from the corresponding node in the archetype used to create the data. The only exception is at archetype root points in data, where archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. Locatable also provides the attribute archetype_details, which is non-Void for archetype root points in data, and carries meta-data relevant to root points. The name attribute carries a name created at runtime. The 'meaning' of any node is derived formally from the archetype by obtaining the text value for the archetype_node_id code from the archetype ontology section, in the language required."> 61 | name = <"Locatable"> 62 | properties = < 63 | ["archetype_node_id"] = (P_BMM_SINGLE_PROPERTY) < 64 | documentation = <"The standardised semantic code for a node, which comes from the corresponding node in the archetype used to create the data. For archetype root points, the archetype_node_id carries the archetype identifier in string form rather than an interior node id from an archetype. "> 65 | name = <"archetype_node_id"> 66 | type = <"String"> 67 | is_mandatory = 68 | > 69 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 70 | documentation = <"A name created at runtime"> 71 | name = <"name"> 72 | type = <"String"> 73 | is_mandatory = 74 | > 75 | ["archetype_details"] = (P_BMM_SINGLE_PROPERTY) < 76 | documentation = <"Archetype_details carries meta-data relevant to root points. It is null for non-root points in data."> 77 | name = <"archetype_details"> 78 | type = <"Archetyped"> 79 | > 80 | > 81 | > 82 | ["IndependentArchetypable"] = < 83 | documentation = <"Archetypable type that has an independent existence meaning that its existence is not dependent on the containing type."> 84 | name = <"IndependentArchetypable"> 85 | ancestors = <"Locatable",...> 86 | > 87 | ["NonIndependentArchetypable"] = < 88 | documentation = <"Archetypable type that has a non-independent existence - that is, whose existence is determined by its containing type."> 89 | name = <"NonIndependentArchetypable"> 90 | ancestors = <"Locatable",...> 91 | > 92 | ["NumericalValue"] = < 93 | documentation = <"Abstract class defining quantified amounts. "> 94 | name = <"NumericalValue"> 95 | ancestors = <"OrderedValue",...> 96 | properties = < 97 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 98 | documentation = <"The accuracy of the value, in terms of number of significant figures. For example, a number like 12,345.67 might be declared as accurate to 3 significant digits, meaning digits in the 10's place, 1's place, or to the right of the decimal represent false precision. "> 99 | name = <"precision"> 100 | type = <"Integer"> 101 | > 102 | > 103 | > 104 | ["CodedText"] = < 105 | documentation = <"A Text in a human language whose meaning is captured as concept in a formal terminology. Since CodedText is a subtype of Text, it can be used in place of it, effectively allowing the type Text to mean a text that may optionally be coded. A common use is to record the coded version of a verbatim text (a text originally selected or entered by a human). "> 106 | name = <"CodedText"> 107 | ancestors = <"Text",...> 108 | properties = < 109 | ["concept"] = (P_BMM_SINGLE_PROPERTY) < 110 | documentation = <"A concept from a formal terminology that is equivalent to the semantics of CodedText.value."> 111 | name = <"concept"> 112 | type = <"Concept"> 113 | > 114 | ["mapping"] = (P_BMM_CONTAINER_PROPERTY) < 115 | documentation = <"Modified the definition further as follows: A concept, usually drawn from an alternative code system, that is related to CodedText.concept. Mapping may be used, for instance, when the originator uses a local terminology but also supplies one or more equivalents from standard terminologies (e.g. LOINC)."> 116 | name = <"mapping"> 117 | type_def = < 118 | container_type = <"List"> 119 | type = <"TermMapping"> 120 | > 121 | cardinality = <|>=0|> 122 | > 123 | > 124 | > 125 | ["IntegerType"] = < 126 | documentation = <"A countable quantity, used for values such as number of pregnancies or number of cigarettes smoked in a day. Not to be used for amounts that have units."> 127 | name = <"IntegerType"> 128 | ancestors = <"NumericalValue",...> 129 | properties = < 130 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 131 | documentation = <"The integer count value."> 132 | name = <"value"> 133 | type = <"Integer"> 134 | is_mandatory = 135 | > 136 | > 137 | > 138 | ["DataType"] = < 139 | documentation = <"Serves as a common ancestor of all CIMI types which represent the core granularity of the model."> 140 | name = <"DataType"> 141 | ancestors = <"NonIndependentArchetypable",...> 142 | > 143 | ["Date"] = < 144 | documentation = <"Represents one day in time, as measured on the Gregorian calendar, used for recording time when the exact time is unknown or excessive precision is undesired, such as birth dates. Date uses the semantics defined by ISO 8601."> 145 | name = <"Date"> 146 | ancestors = <"TemporalValue",...> 147 | > 148 | ["TemporalValue"] = < 149 | documentation = <"An abstract class representing a point in time to some accuracy, following the semantics of ISO 8601."> 150 | name = <"TemporalValue"> 151 | ancestors = <"OrderedValue",...> 152 | properties = < 153 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 154 | documentation = <"A date/time string following the semantics of ISO8601."> 155 | name = <"value"> 156 | type = <"String"> 157 | is_mandatory = 158 | > 159 | > 160 | > 161 | ["Duration"] = < 162 | documentation = <"Represents a length of time, independent of any specific point time. Duration is expressed in customary format, i.e. days, hours, minutes, etc. Note that durations cannot be used to represent points or intervals in time."> 163 | name = <"Duration"> 164 | ancestors = <"Quantity",...> 165 | properties = < 166 | ["durationText"] = (P_BMM_SINGLE_PROPERTY) < 167 | documentation = <"An string expressed in terms of days, hours, minutes, seconds, whose semantics follow ISO8601."> 168 | name = <"durationText"> 169 | type = <"String"> 170 | > 171 | > 172 | > 173 | ["EmbeddedContent"] = < 174 | documentation = <"Abstract parent class for all types of encapsulated data, such as media files."> 175 | name = <"EmbeddedContent"> 176 | ancestors = <"DataType",...> 177 | > 178 | ["IntervalValue"] = < 179 | documentation = <"A generic class defining an interval (i.e. range) of any ordered value type. The type T must be a descendant of the type OrderedValue."> 180 | name = <"IntervalValue"> 181 | ancestors = <"DataType",...> 182 | generic_parameter_defs = < 183 | ["T"] = < 184 | name = <"T"> 185 | conforms_to_type = <"OrderedValue"> 186 | > 187 | > 188 | properties = < 189 | ["lowerIncluded"] = (P_BMM_SINGLE_PROPERTY) < 190 | documentation = <"A flag, when true, indicates the specified lower bound is part of the interval. If the interval is lower unbounded, this flag is ignored."> 191 | name = <"lowerIncluded"> 192 | type = <"Boolean"> 193 | is_mandatory = 194 | > 195 | ["lowerUnbounded"] = (P_BMM_SINGLE_PROPERTY) < 196 | documentation = <"A flag indicating the interval does not have a lower bound. If true, a lower bound may not be specified."> 197 | name = <"lowerUnbounded"> 198 | type = <"Boolean"> 199 | is_mandatory = 200 | > 201 | ["upperIncluded"] = (P_BMM_SINGLE_PROPERTY) < 202 | documentation = <"A flag, when true, indicates the specified upper bound is part of the interval. If the interval is upper unbounded, this flag is ignored."> 203 | name = <"upperIncluded"> 204 | type = <"Boolean"> 205 | is_mandatory = 206 | > 207 | ["upperUnbounded"] = (P_BMM_SINGLE_PROPERTY) < 208 | documentation = <"A flag indicating the interval does not have an upper bound. If true, an upper bound may not be specified"> 209 | name = <"upperUnbounded"> 210 | type = <"Boolean"> 211 | is_mandatory = 212 | > 213 | ["lower"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 214 | documentation = <"The lower bound of the interval. Values below the lower bound lie outside the interval."> 215 | name = <"lower"> 216 | type = <"T"> 217 | > 218 | ["upper"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 219 | documentation = <"The upper bound of the interval. Values above the upper bound lie outside the interval."> 220 | name = <"upper"> 221 | type = <"T"> 222 | > 223 | > 224 | > 225 | ["Multimedia"] = < 226 | documentation = <"A representation of media files, such as audio, visual, biosignal, and similar types."> 227 | name = <"Multimedia"> 228 | ancestors = <"EmbeddedContent",...> 229 | properties = < 230 | ["alternateText"] = (P_BMM_SINGLE_PROPERTY) < 231 | documentation = <"Text to display in lieu of multimedia display/replay."> 232 | name = <"alternateText"> 233 | type = <"Byte"> 234 | > 235 | ["data"] = (P_BMM_CONTAINER_PROPERTY) < 236 | documentation = <"The actual data found at uri, if supplied inline."> 237 | name = <"data"> 238 | type_def = < 239 | container_type = <"List"> 240 | type = <"Byte"> 241 | > 242 | cardinality = <|>=0|> 243 | > 244 | ["mediaType"] = (P_BMM_SINGLE_PROPERTY) < 245 | documentation = <"Data media type representing the mime type of the content."> 246 | name = <"mediaType"> 247 | type = <"Concept"> 248 | is_mandatory = 249 | > 250 | ["resourceIdentifier"] = (P_BMM_SINGLE_PROPERTY) < 251 | documentation = <"URI reference to electronic information stored outside the record as a file, database entry etc, if supplied as a reference."> 252 | name = <"resourceIdentifier"> 253 | type = <"UriType"> 254 | > 255 | > 256 | > 257 | ["OrdinalConcept"] = < 258 | documentation = <"Represents rankings and scores, e.g. pain, Apgar values, etc, where there is a) an implied ordering, b) no implication that the distance between each value is constant, and c) the total number of values is finite. This class can be used for recording symbolic values, e.g., the results on a urinalysis strip {neg, trace, moderate, ...} or numbers like Agar values {0, 1, 2, 3, ...}. 259 | Note that although the term "ordinal" in mathematics means natural numbers only, here any integer is allowed, since negative and zero values are often used by medical professionals for values around a neutral point, for example {-3, -2, -1, 0, 1, 2, 3} for reflex response values. 260 | "> 261 | name = <"OrdinalConcept"> 262 | ancestors = <"Concept",...> 263 | properties = < 264 | ["positionInSet"] = (P_BMM_SINGLE_PROPERTY) < 265 | documentation = <"The rank order in the enumeration of values, used for sorting. While any integer value can be used, the values need to reflect the order in the set. For example, ordering as {1, 2, 3, ...} has the same effect as ordering as {0, 1, 2, ...}"> 266 | name = <"positionInSet"> 267 | type = <"Integer"> 268 | is_mandatory = 269 | > 270 | > 271 | > 272 | ["ParsableContent"] = < 273 | documentation = <"Encapsulated data expressed as a parsable text. The internal syntax of the data item is not described, but must follow the given formalism."> 274 | name = <"ParsableContent"> 275 | ancestors = <"EmbeddedContent",...> 276 | properties = < 277 | ["formalism"] = (P_BMM_SINGLE_PROPERTY) < 278 | documentation = <"Name of the formalism, e.g. GLIF 1.0 , Proforma etc."> 279 | name = <"formalism"> 280 | type = <"Concept"> 281 | is_mandatory = 282 | > 283 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 284 | documentation = <"The string, which may validly be empty in some syntaxes."> 285 | name = <"value"> 286 | type = <"String"> 287 | is_mandatory = 288 | > 289 | > 290 | > 291 | ["PlainText"] = < 292 | documentation = <"A text with optional human language. While the attributes of PlainText and Text are the same, the PlainText class should be used when the text will not be coded (since CodedText is a child of Text but not PlainText). "> 293 | name = <"PlainText"> 294 | ancestors = <"Text",...> 295 | > 296 | ["OrderedValue"] = < 297 | documentation = <"Abstract class defining a value on a number line or time line, whose location (magnitude) may be given precisely, or bounded by another value. "> 298 | name = <"OrderedValue"> 299 | ancestors = <"DataType",...> 300 | > 301 | ["Quantity"] = < 302 | documentation = <"Quantified type representing scientific quantities, i.e. quantities expressed as a magnitude and units of measure. Quantities can also be used for time durations, where it is more convenient to treat these as simply a number of seconds rather than days, months, years."> 303 | name = <"Quantity"> 304 | ancestors = <"NumericalValue",...> 305 | properties = < 306 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 307 | documentation = <"Units, expressed expressed as codes (generally UCUM), e.g. "kg/m2", "mm[Hg]", "ms-1", "km/h". Implemented accordingly in subtypes."> 308 | name = <"units"> 309 | type = <"Concept"> 310 | is_mandatory = 311 | > 312 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 313 | documentation = <"Numeric magnitude of the quantity. 314 | 315 | "> 316 | name = <"value"> 317 | type = <"Real"> 318 | is_mandatory = 319 | > 320 | > 321 | > 322 | ["TermMapping"] = < 323 | documentation = <"Represents an alternative ("mapped") Concept associated with a source concept (i.e., CodedText.concept or the textual value of the CodedText when no equivalent concept has been defined), and the relative match of the mapped Concept with respect to the source Concept. Mappings may be used to add classification terms (e.g. adding ICD classifiers to SNOMED descriptive terms), for computational convenience, or to provide equivalents in other terminologies (e.g. across nursing vocabularies)."> 324 | name = <"TermMapping"> 325 | properties = < 326 | ["match"] = (P_BMM_SINGLE_PROPERTY) < 327 | documentation = <"The relative match of the mapped concept to the original (target) concept. Examples include broader (i.e., the mapped term is more general than the original), equivalent, narrower (e.g. mapped concept is "atypical diabetes mellitus" and the original term is "diabetes mellitus"), or unknown. "> 328 | name = <"match"> 329 | type = <"Concept"> 330 | is_mandatory = 331 | > 332 | ["purpose"] = (P_BMM_SINGLE_PROPERTY) < 333 | documentation = <"The purpose of the mapping, e.g., automated data mining, billing, or interoperability."> 334 | name = <"purpose"> 335 | type = <"Concept"> 336 | > 337 | ["target"] = (P_BMM_SINGLE_PROPERTY) < 338 | documentation = <"The target concept of the mapping, i.e., the original concept that has been mapped. "> 339 | name = <"target"> 340 | type = <"Concept"> 341 | is_mandatory = 342 | > 343 | > 344 | > 345 | ["Text"] = < 346 | documentation = <"Abstract parent for plain textual and coded text items, which may contain any amount of legal characters arranged as e.g. words, sentences etc (i.e. one Text may be more than one word). Visual formatting and hyperlinks may be included."> 347 | name = <"Text"> 348 | ancestors = <"DataType",...> 349 | properties = < 350 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 351 | documentation = <"The text itself, which may contain any amount of legal characters arranged as e.g. words, sentences etc. Visual formatting and hyperlinks may be included."> 352 | name = <"value"> 353 | type = <"String"> 354 | is_mandatory = 355 | > 356 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 357 | documentation = <"The text's language."> 358 | name = <"language"> 359 | type = <"Concept"> 360 | > 361 | > 362 | > 363 | ["Time"] = < 364 | documentation = <"Represents a point in time from an origin usually interpreted as meaning the start of the current day. Used for recording a time of (any) day, not an absolute point in time. Typically used for times of events such as substance administrations."> 365 | name = <"Time"> 366 | ancestors = <"TemporalValue",...> 367 | > 368 | ["UriType"] = < 369 | documentation = <"A reference to an object which conforms to the Universal Resource Identifier (URI) standard. See "Universal Resource Identifiers in WWW" by Tim Berners-Lee at http://www.ietf.org/rfc/rfc3986.txt."> 370 | name = <"UriType"> 371 | ancestors = <"DataType",...> 372 | properties = < 373 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 374 | documentation = <"Value of URI"> 375 | name = <"value"> 376 | type = <"String"> 377 | is_mandatory = 378 | > 379 | > 380 | > 381 | ["Instant"] = < 382 | documentation = <"An instant in time - known at least to the second and always includes a time zone. Note: This is intended for precisely observed times (typically system logs etc.), and not human-reported times - for them, use date and dateTime. instant is a more constrained dateTime"> 383 | name = <"Instant"> 384 | ancestors = <"DateTime",...> 385 | > 386 | ["PositiveInteger"] = < 387 | documentation = <"An integer whose value is greater than zero."> 388 | name = <"PositiveInteger"> 389 | ancestors = <"UnsignedInteger",...> 390 | > 391 | ["UnsignedInteger"] = < 392 | documentation = <"An integer whose value is greater or equal to zero."> 393 | name = <"UnsignedInteger"> 394 | ancestors = <"IntegerType",...> 395 | > 396 | ["Ratio"] = < 397 | documentation = <"A parameterizable ratio, where the numerator and denominator should not be reduced to a decimal, such as 3 tablets/day. "> 398 | name = <"Ratio"> 399 | ancestors = <"DataType",...> 400 | generic_parameter_defs = < 401 | ["T"] = < 402 | name = <"T"> 403 | conforms_to_type = <"NumericalValue"> 404 | > 405 | > 406 | properties = < 407 | ["denominator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 408 | documentation = <"The denominator of the ratio."> 409 | name = <"denominator"> 410 | type = <"T"> 411 | > 412 | ["numerator"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 413 | documentation = <"The numerator of the ratio."> 414 | name = <"numerator"> 415 | type = <"T"> 416 | > 417 | > 418 | > 419 | ["Concept"] = < 420 | documentation = <"A reference to a concept in a terminology or an ontology."> 421 | name = <"Concept"> 422 | ancestors = <"DataType",...> 423 | properties = < 424 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 425 | documentation = <"The concept reference that represents the target concept in the chosen terminology system."> 426 | name = <"code"> 427 | type = <"TerminologyCode"> 428 | is_mandatory = 429 | > 430 | ["isExpression"] = (P_BMM_SINGLE_PROPERTY) < 431 | documentation = <"A flag indicating if the value in the code field is a parsable expression comprised of codes and operators, rather than a single code. If omitted, the system can assume the code is not an expression."> 432 | name = <"isExpression"> 433 | type = <"Boolean"> 434 | > 435 | ["display"] = (P_BMM_CONTAINER_PROPERTY) < 436 | documentation = <"The preferred language-specific textual rendition of the code attribute, preferably as specified by the code system."> 437 | name = <"display"> 438 | type_def = < 439 | container_type = <"List"> 440 | type = <"PlainText"> 441 | > 442 | cardinality = <|>=0|> 443 | > 444 | > 445 | > 446 | ["GpsLocation"] = < 447 | documentation = <"A location on the surface of the Earth, described by a latitude and longitude (and optional altitude)."> 448 | name = <"GpsLocation"> 449 | ancestors = <"DataType",...> 450 | properties = < 451 | ["longitude"] = (P_BMM_SINGLE_PROPERTY) < 452 | documentation = <"Longitude with WGS84 datum"> 453 | name = <"longitude"> 454 | type = <"Real"> 455 | is_mandatory = 456 | > 457 | ["latitude"] = (P_BMM_SINGLE_PROPERTY) < 458 | documentation = <"Latitude with WGS84 datum"> 459 | name = <"latitude"> 460 | type = <"Real"> 461 | is_mandatory = 462 | > 463 | ["altitude"] = (P_BMM_SINGLE_PROPERTY) < 464 | documentation = <"Altitude with WGS84 datum"> 465 | name = <"altitude"> 466 | type = <"Real"> 467 | > 468 | > 469 | > 470 | ["DateTime"] = < 471 | documentation = <"A date, date and time or partial date (e.g. just year or year + month) as used in human communication. If hours and minutes are specified, a time zone SHALL be populated. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. The time "24:00" is not allowed."> 472 | name = <"DateTime"> 473 | ancestors = <"TemporalValue",...> 474 | > 475 | ["Decimal"] = < 476 | documentation = <"Rational numbers that have a decimal representation. Decimals may not use exponents, and leading 0 digits are not allowed."> 477 | name = <"Decimal"> 478 | ancestors = <"NumericalValue",...> 479 | properties = < 480 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 481 | documentation = <"The value of the decimal number."> 482 | name = <"value"> 483 | type = <"Real"> 484 | is_mandatory = 485 | > 486 | > 487 | > 488 | ["Any"] = < 489 | documentation = <"Abstract supertype. Usually maps to a type like "Any" or "Object" in an object system. Defined here to provide the value and reference equality semantics."> 490 | name = <"Any"> 491 | > 492 | ["Array"] = < 493 | documentation = <"A collection of ordered items that may be are indexed by number."> 494 | name = <"Array"> 495 | ancestors = <"Any",...> 496 | generic_parameter_defs = < 497 | ["T"] = < 498 | name = <"T"> 499 | conforms_to_type = <"Any"> 500 | > 501 | > 502 | > 503 | ["List"] = < 504 | documentation = <"An ordered collection of items with non-unique membership."> 505 | name = <"List"> 506 | ancestors = <"Any",...> 507 | generic_parameter_defs = < 508 | ["T"] = < 509 | name = <"T"> 510 | conforms_to_type = <"Any"> 511 | > 512 | > 513 | > 514 | ["Boolean"] = < 515 | documentation = <"logical True/False values; usually physically represented as an integer, but need not be"> 516 | name = <"Boolean"> 517 | > 518 | ["Byte"] = < 519 | documentation = <"a type whose value is an 8-bit value."> 520 | name = <"Byte"> 521 | > 522 | ["Character"] = < 523 | documentation = <"a type whose value is a member of an 8-bit character-set (ISO: "repertoire")."> 524 | name = <"Character"> 525 | > 526 | ["Integer"] = < 527 | documentation = <"An integer type"> 528 | name = <"Integer"> 529 | > 530 | ["Real"] = < 531 | documentation = <"32-bit real numbers in any interoperable representation, including single-width IEEE floating point"> 532 | name = <"Real"> 533 | > 534 | ["String"] = < 535 | documentation = <"represents unicode-enabled strings"> 536 | name = <"String"> 537 | > 538 | ["URI"] = < 539 | documentation = <"A URI"> 540 | name = <"URI"> 541 | > 542 | ["TerminologyCode"] = < 543 | documentation = <"The representation of a conceptual idea represented by an ontology or controlled vocabulary. "> 544 | name = <"TerminologyCode"> 545 | ancestors = <"Any",...> 546 | properties = < 547 | ["terminologyId"] = (P_BMM_SINGLE_PROPERTY) < 548 | documentation = <"An identifier for the terminology system that forms the name space for the code string. E.g., SNOMED CT, LOINC, etc..."> 549 | name = <"terminologyId"> 550 | type = <"String"> 551 | is_mandatory = 552 | > 553 | ["terminologyVersion"] = (P_BMM_SINGLE_PROPERTY) < 554 | documentation = <"The version of the terminology system."> 555 | name = <"terminologyVersion"> 556 | type = <"String"> 557 | > 558 | ["codeString"] = (P_BMM_SINGLE_PROPERTY) < 559 | documentation = <"The unique concept identifier in the terminology system name space."> 560 | name = <"codeString"> 561 | type = <"String"> 562 | is_mandatory = 563 | > 564 | ["uri"] = (P_BMM_SINGLE_PROPERTY) < 565 | documentation = <"The unique resource identifier for this concept reference."> 566 | name = <"uri"> 567 | type = <"UriType"> 568 | > 569 | > 570 | > 571 | > 572 | 573 | -------------------------------------------------------------------------------- /models/ISO_13606/2008/BMM/cen_EN13606_0.9.5.bmm: -------------------------------------------------------------------------------- 1 | -- 2 | -- keywords: reference model, meta-model, archetypes 3 | -- author: Christoph Rinner 4 | -- support: christoph@rinner.at 5 | -- copyright: Copyright (c) 2010 Christoph Rinner 6 | -- license: See end of file 7 | -- 8 | -- TODOs 9 | -- * demographic not included 10 | -- * unit instead of units since the java ADL parser has problems with units 11 | -- * not all cardinalities tested 12 | -- 13 | 14 | ------------------------------------------------------ 15 | -- BMM version on which these schemas are based. 16 | -- 17 | ------------------------------------------------------ 18 | bmm_version = <"2.3"> 19 | 20 | ------------------------------------------------------ 21 | -- schema identification 22 | -- (schema_id computed as __) 23 | ------------------------------------------------------ 24 | rm_publisher = <"CEN"> 25 | schema_name = <"EN13606"> 26 | rm_release = <"0.9.5"> 27 | model_name = <"EN13606"> 28 | 29 | ------------------------------------------------------ 30 | -- schema documentation 31 | ------------------------------------------------------ 32 | schema_revision = <"26"> 33 | schema_lifecycle_state = <"experimental"> 34 | schema_description = <"ISO 13606 Release 2008 draft reference model, expressed in openEHR 'basic meta-model' format"> 35 | schema_author = <"christoph.rinner@meduniwien.ac.at"> 36 | schema_contributors = <"thomas.beale@openehr.org", ...> 37 | 38 | ------------------------------------------------------ 39 | -- inclusions 40 | ------------------------------------------------------ 41 | includes = < 42 | ["1"] = < 43 | id = <"cen_ts14796_0.9.0"> 44 | > 45 | > 46 | 47 | 48 | 49 | ------------------------------------------------------ 50 | -- packages 51 | ------------------------------------------------------ 52 | packages = < 53 | ["org.cen.en13606"] = < 54 | name = <"org.cen.en13606"> 55 | packages = < 56 | ["ehr_extract"] = < 57 | name = <"ehr_extract"> 58 | classes = <"EHR_EXTRACT", "EXTRACT_CRITERIA", "FOLDER", "COMPOSITION"> 59 | packages = < 60 | ["base"] = < 61 | name = <"base"> 62 | classes = <"RECORD_COMPONENT", "LINK", "RELATED_PARTY", "FUNCTIONAL_ROLE", "ATTESTATION_INFO"> 63 | > 64 | ["entry"] = < 65 | name = <"entry"> 66 | classes = <"AUDIT_INFO", "SECTION", "ENTRY", "CONTENT", "ITEM", "CLUSTER", "ELEMENT"> 67 | > 68 | > 69 | > 70 | ["demographics"] = < 71 | name = <"demographics"> 72 | classes = <"IDENTIFIED_ENTITY", "TELECOM", "SOFTWARE_OR_DEVICE", "ORGANISATION", "PERSON", 73 | "IDENTIFIED_HEALTHCARE_PROFESSIONAL", "SUBJECT_OF_CARE_PERSON_IDENTIFICATION" , 74 | "POSTAL_ADDRESS", "ENTITY_NAME", "POSTAL_ADDRESS_PART", "ENTITY_NAME_PART", 75 | "HEALTHCARE_PROFESSIONAL_ROLE"> 76 | > 77 | > 78 | > 79 | > 80 | 81 | ------------------------------------------------------ 82 | -- classes 83 | ------------------------------------------------------ 84 | 85 | class_definitions = < 86 | 87 | ------------------------------------------------------ 88 | --- ISO 13606-1:2008(E) DEMOGRAPHICS Package 89 | ------------------------------------------------------ 90 | 91 | ["IDENTIFIED_ENTITY"] = < 92 | name = <"IDENTIFIED_ENTITY"> 93 | is_abstract = 94 | ancestors = <"Any", ...> 95 | properties = < 96 | ["extract_id"] = (P_BMM_SINGLE_PROPERTY) < 97 | name = <"extract_id"> 98 | type = <"II"> 99 | is_mandatory = 100 | is_im_runtime = 101 | > 102 | ["id"] = (P_BMM_CONTAINER_PROPERTY) < 103 | name = <"id"> 104 | type_def = < 105 | type = <"II"> 106 | container_type = <"Set"> 107 | > 108 | cardinality = <|>=0|> 109 | is_im_runtime = 110 | > 111 | ["telecom"] = (P_BMM_CONTAINER_PROPERTY) < 112 | name = <"telecom"> 113 | type_def = < 114 | type = <"TELECOM"> 115 | container_type = <"Set"> 116 | > 117 | cardinality = <|>=0|> 118 | is_im_runtime = 119 | > 120 | > 121 | > 122 | 123 | ["ORGANISATION"] = < 124 | name = <"ORGANISATION"> 125 | ancestors = <"IDENTIFIED_ENTITY", ...> 126 | properties = < 127 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 128 | name = <"code"> 129 | type = <"CD"> 130 | is_mandatory = 131 | is_im_runtime = 132 | > 133 | ["desc"] = (P_BMM_SINGLE_PROPERTY) < 134 | name = <"desc"> 135 | type = <"String"> 136 | is_mandatory = 137 | > 138 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 139 | name = <"name"> 140 | type = <"String"> 141 | is_mandatory = 142 | is_im_runtime = 143 | > 144 | ["addr"] = (P_BMM_CONTAINER_PROPERTY) < 145 | name = <"addr"> 146 | type_def = < 147 | type = <"POSTAL_ADDRESS"> 148 | container_type = <"Set"> 149 | > 150 | cardinality = <|>=0|> 151 | is_im_runtime = 152 | > 153 | > 154 | > 155 | 156 | ["SOFTWARE_OR_DEVICE"] = < 157 | name = <"SOFTWARE_OR_DEVICE"> 158 | ancestors = <"Any", ...> 159 | properties = < 160 | ["desc"] = (P_BMM_SINGLE_PROPERTY) < 161 | name = <"desc"> 162 | type = <"String"> 163 | is_mandatory = 164 | > 165 | ["manufacturerModelName"] = (P_BMM_SINGLE_PROPERTY) < 166 | name = <"manufacturerModelName"> 167 | type = <"String"> 168 | is_mandatory = 169 | is_im_runtime = 170 | > 171 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 172 | name = <"code"> 173 | type = <"CD"> 174 | is_mandatory = 175 | is_im_runtime = 176 | > 177 | ["version"] = (P_BMM_SINGLE_PROPERTY) < 178 | name = <"version"> 179 | type = <"String"> 180 | is_im_runtime = 181 | > 182 | ["owningOrganisation"] = (P_BMM_SINGLE_PROPERTY) < 183 | name = <"owningOrganisation"> 184 | type = <"ORGANISATION"> 185 | is_im_runtime = 186 | > 187 | > 188 | > 189 | 190 | ["PERSON"] = < 191 | name = <"PERSON"> 192 | ancestors = <"IDENTIFIED_ENTITY", ...> 193 | properties = < 194 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 195 | name = <"code"> 196 | type = <"CD"> 197 | is_mandatory = 198 | is_im_runtime = 199 | > 200 | ["desc"] = (P_BMM_SINGLE_PROPERTY) < 201 | name = <"desc"> 202 | type = <"String"> 203 | is_mandatory = 204 | > 205 | ["addr"] = (P_BMM_CONTAINER_PROPERTY) < 206 | name = <"addr"> 207 | type_def = < 208 | type = <"POSTAL_ADDRESS"> 209 | container_type = <"List"> 210 | > 211 | cardinality = <|>=0|> 212 | is_im_runtime = 213 | > 214 | ["name"] = (P_BMM_CONTAINER_PROPERTY) < 215 | name = <"name"> 216 | type_def = < 217 | type = <"ENTITY_NAME"> 218 | container_type = <"List"> 219 | > 220 | cardinality = <|>=0|> 221 | is_im_runtime = 222 | > 223 | > 224 | > 225 | 226 | ["IDENTIFIED_HEALTHCARE_PROFESSIONAL"] = < 227 | name = <"IDENTIFIED_HEALTHCARE_PROFESSIONAL"> 228 | ancestors = <"PERSON", ...> 229 | properties = < 230 | ["role"] = (P_BMM_CONTAINER_PROPERTY) < 231 | name = <"role"> 232 | type_def = < 233 | type = <"HEALTHCARE_PROFESSIONAL_ROLE"> 234 | container_type = <"Set"> 235 | > 236 | cardinality = <|>=0|> 237 | > 238 | > 239 | > 240 | 241 | ["HEALTHCARE_PROFESSIONAL_ROLE"] = < 242 | name = <"HEALTHCARE_PROFESSIONAL_ROLE"> 243 | ancestors = <"Any", ...> 244 | properties = < 245 | ["specialty"] = (P_BMM_SINGLE_PROPERTY) < 246 | name = <"specialty"> 247 | type = <"CD"> 248 | > 249 | ["profession"] = (P_BMM_SINGLE_PROPERTY) < 250 | name = <"profession"> 251 | type = <"CD"> 252 | > 253 | ["position_or_grade"] = (P_BMM_SINGLE_PROPERTY) < 254 | name = <"position_or_grade"> 255 | type = <"CD"> 256 | > 257 | ["scoping_organisation"] = (P_BMM_SINGLE_PROPERTY) < 258 | name = <"scoping_organisation"> 259 | type = <"ORGANISATION"> 260 | is_im_runtime = 261 | > 262 | ["id"] = (P_BMM_CONTAINER_PROPERTY) < 263 | name = <"id"> 264 | type_def = < 265 | type = <"II"> 266 | container_type = <"Set"> 267 | > 268 | cardinality = <|>=0|> 269 | is_im_runtime = 270 | > 271 | > 272 | > 273 | 274 | ["SUBJECT_OF_CARE_PERSON_IDENTIFICATION"] = < 275 | name = <"SUBJECT_OF_CARE_PERSON_IDENTIFICATION"> 276 | ancestors = <"PERSON", ...> 277 | properties = < 278 | ["administrativeGenderCode"] = (P_BMM_SINGLE_PROPERTY) < 279 | name = <"administrativeGenderCode"> 280 | type = <"CS"> 281 | is_mandatory = 282 | > 283 | ["birthTime"] = (P_BMM_SINGLE_PROPERTY) < 284 | name = <"birthTime"> 285 | type = <"TS"> 286 | is_mandatory = 287 | is_im_runtime = 288 | > 289 | ["deceasedTime"] = (P_BMM_SINGLE_PROPERTY) < 290 | name = <"deceasedTime"> 291 | type = <"TS"> 292 | is_im_runtime = 293 | > 294 | ["birthOrderNumber"] = (P_BMM_SINGLE_PROPERTY) < 295 | name = <"birthOrderNumber"> 296 | type = <"Integer"> 297 | is_im_runtime = 298 | > 299 | > 300 | > 301 | 302 | ["POSTAL_ADDRESS"] = < 303 | name = <"POSTAL_ADDRESS"> 304 | ancestors = <"Any", ...> 305 | properties = < 306 | ["postalCode"] = (P_BMM_SINGLE_PROPERTY) < 307 | name = <"postalCode"> 308 | type = <"CD"> 309 | is_im_runtime = 310 | > 311 | ["validTime"] = (P_BMM_GENERIC_PROPERTY) < 312 | name = <"validTime"> 313 | type_def = < 314 | root_type = <"IVL"> 315 | generic_parameters = <"TS"> 316 | > 317 | is_im_runtime = 318 | > 319 | ["addressUse"] = (P_BMM_CONTAINER_PROPERTY) < 320 | name = <"addressUse"> 321 | type_def = < 322 | type = <"CS"> 323 | container_type = <"Set"> 324 | > 325 | cardinality = <|>=0|> 326 | > 327 | ["addrPart"] = (P_BMM_CONTAINER_PROPERTY) < 328 | name = <"addrPart"> 329 | type_def = < 330 | type = <"POSTAL_ADDRESS_PART"> 331 | container_type = <"List"> 332 | > 333 | cardinality = <|>=0|> 334 | is_im_runtime = 335 | > 336 | > 337 | > 338 | 339 | ["POSTAL_ADDRESS_PART"] = < 340 | name = <"POSTAL_ADDRESS_PART"> 341 | ancestors = <"Any", ...> 342 | properties = < 343 | ["addressLine"] = (P_BMM_SINGLE_PROPERTY) < 344 | name = <"addressLine"> 345 | type = <"String"> 346 | is_mandatory = 347 | is_im_runtime = 348 | > 349 | ["addressLineType"] = (P_BMM_SINGLE_PROPERTY) < 350 | name = <"addressLineType"> 351 | type = <"CS"> 352 | > 353 | > 354 | > 355 | 356 | ["TELECOM"] = < 357 | name = <"TELECOM"> 358 | ancestors = <"Any", ...> 359 | properties = < 360 | ["telecomAddress"] = (P_BMM_SINGLE_PROPERTY) < 361 | name = <"telecomAddress"> 362 | type = <"URI"> 363 | is_mandatory = 364 | is_im_runtime = 365 | > 366 | ["validTime"] = (P_BMM_GENERIC_PROPERTY) < 367 | name = <"validTime"> 368 | type_def = < 369 | root_type = <"IVL"> 370 | generic_parameters = <"TS"> 371 | > 372 | is_im_runtime = 373 | > 374 | ["use"] = (P_BMM_CONTAINER_PROPERTY) < 375 | name = <"use"> 376 | type_def = < 377 | type = <"CS"> 378 | container_type = <"Set"> 379 | > 380 | cardinality = <|>=1|> 381 | > 382 | > 383 | > 384 | 385 | ["ENTITY_NAME"] = < 386 | name = <"ENTITY_NAME"> 387 | ancestors = <"Any", ...> 388 | properties = < 389 | ["use"] = (P_BMM_SINGLE_PROPERTY) < 390 | name = <"use"> 391 | type = <"CD"> 392 | is_mandatory = 393 | > 394 | ["validTime"] = (P_BMM_GENERIC_PROPERTY) < 395 | name = <"validTime"> 396 | type_def = < 397 | root_type = <"IVL"> 398 | generic_parameters = <"TS"> 399 | > 400 | is_im_runtime = 401 | > 402 | ["namePart"] = (P_BMM_CONTAINER_PROPERTY) < 403 | name = <"namePart"> 404 | type_def = < 405 | type = <"ENTITY_NAME_PART"> 406 | container_type = <"List"> 407 | > 408 | cardinality = <|>=1|> 409 | is_im_runtime = 410 | > 411 | > 412 | > 413 | 414 | ["ENTITY_NAME_PART"] = < 415 | name = <"ENTITY_NAME_PART"> 416 | ancestors = <"Any", ...> 417 | properties = < 418 | ["entityPartName"] = (P_BMM_SINGLE_PROPERTY) < 419 | name = <"entityPartName"> 420 | type = <"String"> 421 | is_mandatory = 422 | is_im_runtime = 423 | > 424 | ["namePartType"] = (P_BMM_SINGLE_PROPERTY) < 425 | name = <"namePartType"> 426 | type = <"CS"> 427 | is_mandatory = 428 | > 429 | ["namePartQualifier"] = (P_BMM_SINGLE_PROPERTY) < 430 | name = <"namePartQualifier"> 431 | type = <"CS"> 432 | is_mandatory = 433 | > 434 | > 435 | > 436 | 437 | ------------------------------------------------------ 438 | --- ISO 13606-1:2008(E) EXTRACT Package 439 | ------------------------------------------------------ 440 | ["EHR_EXTRACT"] = < 441 | name = <"EHR_EXTRACT"> 442 | ancestors = <"Any", ...> 443 | properties = < 444 | ["ehr_system"] = (P_BMM_SINGLE_PROPERTY) < 445 | name = <"ehr_system"> 446 | type = <"II"> 447 | is_mandatory = 448 | is_im_runtime = 449 | > 450 | ["ehr_id"] = (P_BMM_SINGLE_PROPERTY) < 451 | name = <"ehr_id"> 452 | type = <"II"> 453 | is_mandatory = 454 | is_im_runtime = 455 | > 456 | ["subject_of_care"] = (P_BMM_SINGLE_PROPERTY) < 457 | name = <"subject_of_care"> 458 | type = <"II"> 459 | is_mandatory = 460 | is_im_runtime = 461 | > 462 | ["time_created"] = (P_BMM_SINGLE_PROPERTY) < 463 | name = <"time_created"> 464 | type = <"TS"> 465 | is_mandatory = 466 | is_im_runtime = 467 | > 468 | ["authorising_party"] = (P_BMM_SINGLE_PROPERTY) < 469 | name = <"authorising_party"> 470 | type = <"II"> 471 | is_im_runtime = 472 | > 473 | ["rm_id"] = (P_BMM_SINGLE_PROPERTY) < 474 | name = <"rm_id"> 475 | type = <"String"> 476 | is_mandatory = 477 | is_im_infrastructure = 478 | > 479 | ["folders"] = (P_BMM_CONTAINER_PROPERTY) < 480 | name = <"folders"> 481 | type_def = < 482 | type = <"FOLDER"> 483 | container_type = <"Set"> 484 | > 485 | cardinality = <|>=0|> 486 | > 487 | ["criteria"] = (P_BMM_CONTAINER_PROPERTY) < 488 | name = <"criteria"> 489 | type_def = < 490 | type = <"EXTRACT_CRITERIA"> 491 | container_type = <"Set"> 492 | > 493 | cardinality = <|>=0|> 494 | > 495 | ["all_compositions"] = (P_BMM_CONTAINER_PROPERTY) < 496 | name = <"all_compositions"> 497 | type_def = < 498 | type = <"COMPOSITION"> 499 | container_type = <"Set"> 500 | > 501 | cardinality = <|>=0|> 502 | > 503 | ["demographic_entity"] = (P_BMM_CONTAINER_PROPERTY) < 504 | name = <"demographic_entity"> 505 | type_def = < 506 | type = <"IDENTIFIED_ENTITY"> 507 | container_type = <"List"> 508 | > 509 | cardinality = <|>=0|> 510 | > 511 | > 512 | > 513 | 514 | ["EXTRACT_CRITERIA"] = < 515 | name = <"EXTRACT_CRITERIA"> 516 | ancestors = <"Any", ...> 517 | properties = < 518 | ["time_period"] = (P_BMM_GENERIC_PROPERTY) < 519 | name = <"time_period"> 520 | type_def = < 521 | root_type = <"IVL"> 522 | generic_parameters = <"TS"> 523 | > 524 | > 525 | ["max_sensitivity"] = (P_BMM_SINGLE_PROPERTY) < 526 | name = <"max_sensitivity"> 527 | type = <"Integer"> 528 | > 529 | ["all_versions"] = (P_BMM_SINGLE_PROPERTY) < 530 | name = <"all_versions"> 531 | type = <"Boolean"> 532 | > 533 | ["multimedia_included"] = (P_BMM_SINGLE_PROPERTY) < 534 | name = <"multimedia_included"> 535 | type = <"Boolean"> 536 | > 537 | ["archetype_ids"] = (P_BMM_CONTAINER_PROPERTY) < 538 | name = <"archetype_ids"> 539 | type_def = < 540 | container_type = <"Set"> 541 | type = <"II"> 542 | > 543 | > 544 | ["other_constraints"] = (P_BMM_SINGLE_PROPERTY) < 545 | name = <"other_constraints"> 546 | type = <"String"> 547 | > 548 | > 549 | > 550 | 551 | ["RECORD_COMPONENT"] = < 552 | name = <"RECORD_COMPONENT"> 553 | is_abstract = 554 | ancestors = <"Any", ...> 555 | properties = < 556 | ["name"] = (P_BMM_SINGLE_PROPERTY) < 557 | name = <"name"> 558 | type = <"TEXT"> 559 | is_mandatory = 560 | > 561 | ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < 562 | name = <"archetype_id"> 563 | type = <"String"> 564 | is_im_infrastructure = 565 | > 566 | ["rc_id"] = (P_BMM_SINGLE_PROPERTY) < 567 | name = <"rc_id"> 568 | type = <"II"> 569 | is_mandatory = 570 | is_im_infrastructure = 571 | > 572 | ["meaning"] = (P_BMM_SINGLE_PROPERTY) < 573 | name = <"meaning"> 574 | type = <"CD"> 575 | is_im_infrastructure = 576 | > 577 | ["synthesised"] = (P_BMM_SINGLE_PROPERTY) < 578 | name = <"synthesised"> 579 | type = <"Boolean"> 580 | is_mandatory = 581 | is_im_runtime = 582 | > 583 | ["policy_ids"] = (P_BMM_CONTAINER_PROPERTY) < 584 | name = <"policy_ids"> 585 | type_def = < 586 | container_type = <"Set"> 587 | type = <"II"> 588 | > 589 | is_im_runtime = 590 | > 591 | ["sensitivity"] = (P_BMM_SINGLE_PROPERTY) < 592 | name = <"sensitivity"> 593 | type = <"Integer"> 594 | > 595 | ["orig_parent_ref"] = (P_BMM_SINGLE_PROPERTY) < 596 | name = <"orig_parent_ref"> 597 | type = <"II"> 598 | is_im_infrastructure = 599 | > 600 | ["links"] = (P_BMM_CONTAINER_PROPERTY) < 601 | name = <"links"> 602 | type_def = < 603 | type = <"LINK"> 604 | container_type = <"Set"> 605 | > 606 | cardinality = <|>=0|> 607 | > 608 | ["feeder_audit"] = (P_BMM_SINGLE_PROPERTY) < 609 | name = <"feeder_audit"> 610 | type = <"AUDIT_INFO"> 611 | is_im_runtime = 612 | > 613 | > 614 | > 615 | 616 | ["FOLDER"] = < 617 | name = <"FOLDER"> 618 | ancestors = <"RECORD_COMPONENT",...> 619 | properties = < 620 | ["compositions"] = (P_BMM_CONTAINER_PROPERTY) < 621 | name = <"compositions"> 622 | type_def = < 623 | type = <"II"> 624 | container_type = <"Set"> 625 | > 626 | cardinality = <|>=0|> 627 | > 628 | ["sub_folders"] = (P_BMM_CONTAINER_PROPERTY) < 629 | name = <"sub_folders"> 630 | type_def = < 631 | type = <"FOLDER"> 632 | container_type = <"Set"> 633 | > 634 | cardinality = <|>=0|> 635 | > 636 | ["attestations"] = (P_BMM_CONTAINER_PROPERTY) < 637 | name = <"attestations"> 638 | type_def = < 639 | type = <"ATTESTATION_INFO"> 640 | container_type = <"Set"> 641 | > 642 | cardinality = <|>=0|> 643 | is_im_runtime = 644 | > 645 | > 646 | > 647 | 648 | ["COMPOSITION"] = < 649 | name = <"COMPOSITION"> 650 | ancestors = <"RECORD_COMPONENT",...> 651 | properties = < 652 | ["session_time"] = (P_BMM_GENERIC_PROPERTY) < 653 | name = <"session_time"> 654 | type_def = < 655 | root_type = <"IVL"> 656 | generic_parameters = <"TS"> 657 | > 658 | is_im_runtime = 659 | > 660 | ["territory"] = (P_BMM_SINGLE_PROPERTY) < 661 | name = <"territory"> 662 | type = <"CS"> 663 | is_im_infrastructure = 664 | > 665 | ["committal"] = (P_BMM_CONTAINER_PROPERTY) < 666 | name = <"committal"> 667 | is_mandatory = 668 | type_def = < 669 | type = <"AUDIT_INFO"> 670 | container_type = <"Set"> 671 | > 672 | cardinality = <|>=0|> 673 | is_im_infrastructure = 674 | > 675 | ["attestations"] = (P_BMM_CONTAINER_PROPERTY) < 676 | name = <"attestations"> 677 | type_def = < 678 | type = <"ATTESTATION_INFO"> 679 | container_type = <"Set"> 680 | > 681 | cardinality = <|>=0|> 682 | is_im_runtime = 683 | > 684 | ["other_participations"] = (P_BMM_CONTAINER_PROPERTY) < 685 | name = <"other_participations"> 686 | type_def = < 687 | type = <"FUNCTIONAL_ROLE"> 688 | container_type = <"Set"> 689 | > 690 | cardinality = <|>=0|> 691 | > 692 | ["composer"] = (P_BMM_SINGLE_PROPERTY) < 693 | name = <"composer"> 694 | type = <"FUNCTIONAL_ROLE"> 695 | > 696 | ["content"] = (P_BMM_CONTAINER_PROPERTY) < 697 | name = <"content"> 698 | type_def = < 699 | type = <"CONTENT"> 700 | container_type = <"List"> 701 | > 702 | cardinality = <|>=0|> 703 | > 704 | > 705 | > 706 | 707 | ["CONTENT"] = < 708 | name = <"CONTENT"> 709 | ancestors = <"RECORD_COMPONENT",...> 710 | is_abstract = 711 | > 712 | 713 | ["ENTRY"] = < 714 | name = <"ENTRY"> 715 | ancestors = <"CONTENT",...> 716 | occurrences = <|>=0|> 717 | properties = < 718 | ["act_id"] = (P_BMM_SINGLE_PROPERTY) < 719 | name = <"act_id"> 720 | type = <"String"> 721 | is_im_runtime = 722 | > 723 | ["act_status"] = (P_BMM_SINGLE_PROPERTY) < 724 | name = <"act_status"> 725 | type = <"CS"> 726 | > 727 | ["uncertainty_expressed"] = (P_BMM_SINGLE_PROPERTY) < 728 | name = <"uncertainty_expressed"> 729 | type = <"Boolean"> 730 | is_mandatory = 731 | is_im_runtime = 732 | > 733 | ["subject_of_information_category"] = (P_BMM_SINGLE_PROPERTY) < 734 | name = <"subject_of_information_category"> 735 | type = <"CS"> 736 | > 737 | ["items"] = (P_BMM_CONTAINER_PROPERTY) < 738 | name = <"items"> 739 | type_def = < 740 | type = <"ITEM"> 741 | container_type = <"List"> 742 | > 743 | cardinality = <|>=0|> 744 | > 745 | ["other_participations"] = (P_BMM_CONTAINER_PROPERTY) < 746 | name = <"other_participations"> 747 | type_def = < 748 | type = <"FUNCTIONAL_ROLE"> 749 | container_type = <"Set"> 750 | > 751 | cardinality = <|>=0|> 752 | > 753 | ["info_provider"] = (P_BMM_SINGLE_PROPERTY) < 754 | name = <"info_provider"> 755 | type = <"FUNCTIONAL_ROLE"> 756 | > 757 | ["subject_of_information"] = (P_BMM_SINGLE_PROPERTY) < 758 | name = <"subject_of_information"> 759 | type = <"RELATED_PARTY"> 760 | > 761 | > 762 | > 763 | 764 | ["SECTION"] = < 765 | name = <"SECTION"> 766 | ancestors = <"CONTENT",...> 767 | properties = < 768 | ["members"] = (P_BMM_CONTAINER_PROPERTY) < 769 | name = <"members"> 770 | type_def = < 771 | type = <"CONTENT"> 772 | container_type = <"List"> 773 | > 774 | cardinality = <|>=0|> 775 | > 776 | > 777 | > 778 | 779 | ["ITEM"] = < 780 | name = <"ITEM"> 781 | ancestors = <"RECORD_COMPONENT",...> 782 | is_abstract = 783 | properties = < 784 | ["emphasis"] = (P_BMM_SINGLE_PROPERTY) < 785 | name = <"emphasis"> 786 | type = <"CD"> 787 | > 788 | ["obs_time"] = (P_BMM_GENERIC_PROPERTY) < 789 | name = <"obs_time"> 790 | type_def = < 791 | root_type = <"IVL"> 792 | generic_parameters = <"TS"> 793 | > 794 | is_im_runtime = 795 | > 796 | ["item_category"] = (P_BMM_SINGLE_PROPERTY) < 797 | name = <"item_category"> 798 | type = <"CS"> 799 | > 800 | > 801 | > 802 | 803 | ["CLUSTER"] = < 804 | name = <"CLUSTER"> 805 | ancestors = <"ITEM",...> 806 | properties = < 807 | ["structure_type"] = (P_BMM_SINGLE_PROPERTY) < 808 | name = <"structure_type"> 809 | type = <"CS"> 810 | is_mandatory = 811 | > 812 | ["parts"] = (P_BMM_CONTAINER_PROPERTY) < 813 | name = <"parts"> 814 | type_def = < 815 | type = <"ITEM"> 816 | container_type = <"Set"> 817 | > 818 | cardinality = <|>=0|> 819 | > 820 | > 821 | > 822 | 823 | ["ELEMENT"] = < 824 | name = <"ELEMENT"> 825 | ancestors = <"ITEM",...> 826 | properties = < 827 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 828 | name = <"value"> 829 | type = <"DATA_VALUE"> 830 | > 831 | > 832 | > 833 | 834 | ["AUDIT_INFO"] = < 835 | name = <"AUDIT_INFO"> 836 | ancestors = <"Any", ...> 837 | properties = < 838 | ["ehr_system"] = (P_BMM_SINGLE_PROPERTY) < 839 | name = <"ehr_system"> 840 | type = <"II"> 841 | is_mandatory = 842 | > 843 | ["time_committed"] = (P_BMM_SINGLE_PROPERTY) < 844 | name = <"time_committed"> 845 | type = <"TS"> 846 | is_mandatory = 847 | > 848 | ["committer"] = (P_BMM_SINGLE_PROPERTY) < 849 | name = <"committer"> 850 | type = <"II"> 851 | is_mandatory = 852 | > 853 | ["version_status"] = (P_BMM_SINGLE_PROPERTY) < 854 | name = <"version_status"> 855 | type = <"CS"> 856 | > 857 | ["reason_for_revision"] = (P_BMM_SINGLE_PROPERTY) < 858 | name = <"reason_for_revision"> 859 | type = <"CD"> 860 | > 861 | ["previous_version"] = (P_BMM_SINGLE_PROPERTY) < 862 | name = <"previous_version"> 863 | type = <"II"> 864 | > 865 | ["version_set_id"] = (P_BMM_SINGLE_PROPERTY) < 866 | name = <"version_set_id"> 867 | type = <"II"> 868 | > 869 | > 870 | > 871 | 872 | ["ATTESTATION_INFO"] = < 873 | name = <"ATTESTATION_INFO"> 874 | ancestors = <"Any", ...> 875 | properties = < 876 | ["time"] = (P_BMM_SINGLE_PROPERTY) < 877 | name = <"time"> 878 | type = <"TS"> 879 | is_mandatory = 880 | > 881 | ["proof"] = (P_BMM_SINGLE_PROPERTY) < 882 | name = <"proof"> 883 | type = <"ED"> 884 | > 885 | ["attested_view"] = (P_BMM_SINGLE_PROPERTY) < 886 | name = <"attested_view"> 887 | type = <"ED"> 888 | > 889 | ["reason_for_attestation"] = (P_BMM_SINGLE_PROPERTY) < 890 | name = <"reason_for_revision"> 891 | type = <"CD"> 892 | is_mandatory = 893 | > 894 | ["attester"] = (P_BMM_SINGLE_PROPERTY) < 895 | name = <"attester"> 896 | type = <"FUNCTIONAL_ROLE"> 897 | is_mandatory = 898 | > 899 | ["target"] = (P_BMM_CONTAINER_PROPERTY) < 900 | name = <"target"> 901 | type_def = < 902 | type = <"II"> 903 | container_type = <"List"> 904 | > 905 | cardinality = <|>=1|> 906 | > 907 | > 908 | > 909 | 910 | ["FUNCTIONAL_ROLE"] = < 911 | name = <"FUNCTIONAL_ROLE"> 912 | ancestors = <"Any", ...> 913 | properties = < 914 | ["function"] = (P_BMM_SINGLE_PROPERTY) < 915 | name = <"function"> 916 | type = <"CD"> 917 | > 918 | ["performer"] = (P_BMM_SINGLE_PROPERTY) < 919 | name = <"performer"> 920 | type = <"II"> 921 | is_mandatory = 922 | > 923 | ["mode"] = (P_BMM_SINGLE_PROPERTY) < 924 | name = <"mode"> 925 | type = <"CS"> 926 | > 927 | ["healthcare_facility"] = (P_BMM_SINGLE_PROPERTY) < 928 | name = <"healthcare_facility"> 929 | type = <"II"> 930 | is_im_runtime = 931 | > 932 | ["service_setting"] = (P_BMM_SINGLE_PROPERTY) < 933 | name = <"service_setting"> 934 | type = <"CD"> 935 | > 936 | > 937 | > 938 | 939 | ["RELATED_PARTY"] = < 940 | name = <"RELATED_PARTY"> 941 | ancestors = <"Any", ...> 942 | properties = < 943 | ["party"] = (P_BMM_SINGLE_PROPERTY) < 944 | name = <"party"> 945 | type = <"II"> 946 | > 947 | ["relationship"] = (P_BMM_SINGLE_PROPERTY) < 948 | name = <"relationship"> 949 | type = <"TEXT"> 950 | is_mandatory = 951 | > 952 | > 953 | > 954 | 955 | ["LINK"] = < 956 | name = <"LINK"> 957 | ancestors = <"Any", ...> 958 | properties = < 959 | ["nature"] = (P_BMM_SINGLE_PROPERTY) < 960 | name = <"nature"> 961 | type = <"CS"> 962 | is_mandatory = 963 | > 964 | ["role"] = (P_BMM_SINGLE_PROPERTY) < 965 | name = <"role"> 966 | type = <"CD"> 967 | > 968 | ["follow_link"] = (P_BMM_SINGLE_PROPERTY) < 969 | name = <"follow_link"> 970 | type = <"Boolean"> 971 | is_mandatory = 972 | > 973 | ["target"] = (P_BMM_CONTAINER_PROPERTY) < 974 | name = <"target"> 975 | type_def = < 976 | type = <"II"> 977 | container_type = <"Set"> 978 | > 979 | cardinality = <|>=1|> 980 | > 981 | > 982 | > 983 | 984 | > 985 | 986 | --| 987 | --| ***** BEGIN LICENSE BLOCK ***** 988 | --| Version: MPL 1.1/GPL 2.0/LGPL 2.1 989 | --| 990 | --| The contents of this file are subject to the Mozilla Public License Version 991 | --| 1.1 (the 'License'); you may not use this file except in compliance with 992 | --| the License. You may obtain a copy of the License at 993 | --| http://www.mozilla.org/MPL/ 994 | --| 995 | --| Software distributed under the License is distributed on an 'AS IS' basis, 996 | --| WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 997 | --| for the specific language governing rights and limitations under the 998 | --| License. 999 | --| 1000 | --| The Original Code is cen_EN13606_0.9.dadl 1001 | --| 1002 | --| The Initial Developer of the Original Code is Christoph Rinner. 1003 | --| Portions created by the Initial Developer are Copyright (C) 2010 1004 | --| the Initial Developer. All Rights Reserved. 1005 | --| 1006 | --| Contributor(s): 1007 | --| 1008 | --| Alternatively, the contents of this file may be used under the terms of 1009 | --| either the GNU General Public License Version 2 or later (the 'GPL'), or 1010 | --| the GNU Lesser General Public License Version 2.1 or later (the 'LGPL'), 1011 | --| in which case the provisions of the GPL or the LGPL are applicable instead 1012 | --| of those above. If you wish to allow use of your version of this file only 1013 | --| under the terms of either the GPL or the LGPL, and not to allow others to 1014 | --| use your version of this file under the terms of the MPL, indicate your 1015 | --| decision by deleting the provisions above and replace them with the notice 1016 | --| and other provisions required by the GPL or the LGPL. If you do not delete 1017 | --| the provisions above, a recipient may use your version of this file under 1018 | --| the terms of any one of the MPL, the GPL or the LGPL. 1019 | --| 1020 | --| ***** END LICENSE BLOCK ***** 1021 | --| 1022 | -------------------------------------------------------------------------------- /models/ISO_13606/2008/BMM/cen_ts14796_0.9.0.bmm: -------------------------------------------------------------------------------- 1 | -- 2 | -- keywords: data types, data types 3 | -- author: Thomas Beale 4 | -- support: thomas.beale@oceaninformatics.com 5 | -- copyright: Copyright (c) 2011 openEHR Foundation 6 | -- license: See end of file 7 | -- 8 | -- 9 | 10 | ------------------------------------------------------ 11 | -- BMM version on which these schemas are based. 12 | -- Current BMM version can be found as value of 'Bmm_internal_version' in 13 | -- http://www.openehr.org/svn/ref_impl_eiffel/BRANCHES/adl1.5/libraries/common_libs/src/basic_meta_model/bmm_definitions.e 14 | -- 15 | ------------------------------------------------------ 16 | bmm_version = <"2.3"> 17 | 18 | ------------------------------------------------------ 19 | -- schema identification 20 | -- (schema_id computed as __) 21 | ------------------------------------------------------ 22 | rm_publisher = <"cen"> 23 | schema_name = <"TS14796"> 24 | rm_release = <"0.9.0"> 25 | 26 | ------------------------------------------------------ 27 | -- schema documentation 28 | ------------------------------------------------------ 29 | schema_revision = <"93"> 30 | schema_lifecycle_state = <"experimental"> 31 | schema_description = <"CEN data types according to CEN/TS 14796:2004"> 32 | schema_author = <"thomas.beale@oceaninformatics.com"> 33 | 34 | ------------------------------------------------------ 35 | -- inclusions 36 | ------------------------------------------------------ 37 | includes = < 38 | ["1"] = < 39 | id = <"openehr_primitive_types_1.0.2"> 40 | > 41 | > 42 | 43 | ------------------------------------------------------ 44 | -- packages 45 | ------------------------------------------------------ 46 | packages = < 47 | ["org.cen.en13606.data_types"] = < 48 | name = <"org.cen.en13606.data_types"> 49 | packages = < 50 | ["Basic"] = < 51 | name = <"Basic"> 52 | classes = <"DATA_VALUE", "ED", "URI", "BL", "OID", "IVL", "II"> 53 | > 54 | ["Text"] = < 55 | name = <"Text"> 56 | classes = <"CS", "CD", "CV", "TEXT", "SIMPLE_TEXT", "CODED_TEXT"> 57 | > 58 | ["Quantity"] = < 59 | name = <"Quantity"> 60 | classes = <"INT", "RTO", "ORD", "PQ", "QUANTITY", "QUANTITY_RANGE", "DURATION", "IVLPQ"> 61 | > 62 | ["Time"] = < 63 | name = <"Time"> 64 | classes = <"TS", "DATE", "EIVL", "PIVL", "IVLTS"> 65 | > 66 | > 67 | > 68 | > 69 | 70 | ------------------------------------------------------ 71 | -- classes 72 | ------------------------------------------------------ 73 | 74 | class_definitions = < 75 | 76 | ------------------------------------------------------ 77 | --- 78 | ------------------------------------------------------ 79 | 80 | ["DATA_VALUE"] = < 81 | name = <"DATA_VALUE"> 82 | ancestors = <"Any", ...> 83 | is_abstract = 84 | properties = < 85 | ["nullFlavor"] = (P_BMM_SINGLE_PROPERTY) < 86 | name = <"nullFlavor"> 87 | type = <"CS"> 88 | > 89 | > 90 | > 91 | 92 | ["ED"] = < 93 | name = <"ED"> 94 | ancestors = <"DATA_VALUE", ...> 95 | properties = < 96 | ["mediaType"] = (P_BMM_SINGLE_PROPERTY) < 97 | name = <"mediaType"> 98 | type = <"CS"> 99 | is_mandatory = 100 | > 101 | ["charset"] = (P_BMM_SINGLE_PROPERTY) < 102 | name = <"charset"> 103 | type = <"CS"> 104 | is_mandatory = 105 | > 106 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 107 | name = <"language"> 108 | type = <"CS"> 109 | is_mandatory = 110 | > 111 | ["size"] = (P_BMM_SINGLE_PROPERTY) < 112 | name = <"size"> 113 | type = <"Integer"> 114 | is_mandatory = 115 | is_im_runtime = 116 | > 117 | ["compression"] = (P_BMM_SINGLE_PROPERTY) < 118 | name = <"compression"> 119 | type = <"CV"> 120 | is_mandatory = 121 | > 122 | ["reference"] = (P_BMM_SINGLE_PROPERTY) < 123 | name = <"reference"> 124 | type = <"URI"> 125 | is_mandatory = 126 | > 127 | ["integrityCheck"] = (P_BMM_CONTAINER_PROPERTY) < 128 | name = <"integrityCheck"> 129 | type_def = < 130 | container_type = <"Array"> 131 | type = <"Byte"> 132 | > 133 | cardinality = <|>=0|> 134 | > 135 | ["data"] = (P_BMM_CONTAINER_PROPERTY) < 136 | name = <"data"> 137 | type_def = < 138 | container_type = <"Array"> 139 | type = <"Byte"> 140 | > 141 | cardinality = <|>=0|> 142 | > 143 | ["integrityCheckAlgorithm"] = (P_BMM_SINGLE_PROPERTY) < 144 | name = <"integrityCheckAlgorithm"> 145 | type = <"CV"> 146 | is_mandatory = 147 | > 148 | ["thumbnail"] = (P_BMM_SINGLE_PROPERTY) < 149 | name = <"thumbnail"> 150 | type = <"ED"> 151 | > 152 | ["alternateString"] = (P_BMM_SINGLE_PROPERTY) < 153 | name = <"alternateString"> 154 | type = <"TEXT"> 155 | > 156 | > 157 | > 158 | ["URI"] = < 159 | name = <"URI"> 160 | ancestors = <"DATA_VALUE", ...> 161 | properties = < 162 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 163 | name = <"value"> 164 | type = <"String"> 165 | > 166 | ["scheme"] = (P_BMM_SINGLE_PROPERTY) < 167 | name = <"scheme"> 168 | type = <"String"> 169 | > 170 | ["path"] = (P_BMM_SINGLE_PROPERTY) < 171 | name = <"path"> 172 | type = <"String"> 173 | > 174 | ["fragment_id"] = (P_BMM_SINGLE_PROPERTY) < 175 | name = <"fragment_id"> 176 | type = <"String"> 177 | > 178 | ["uri_query"] = (P_BMM_SINGLE_PROPERTY) < 179 | name = <"uri_query"> 180 | type = <"String"> 181 | > 182 | ["literal"] = (P_BMM_SINGLE_PROPERTY) < 183 | name = <"literal"> 184 | type = <"String"> 185 | > 186 | > 187 | > 188 | 189 | ["BL"] = < 190 | name = <"BL"> 191 | ancestors = <"DATA_VALUE", ...> 192 | properties = < 193 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 194 | name = <"value"> 195 | type = <"Boolean"> 196 | > 197 | > 198 | > 199 | 200 | ["OID"] = < 201 | name = <"OID"> 202 | ancestors = <"DATA_VALUE", ...> 203 | properties = < 204 | ["oid"] = (P_BMM_SINGLE_PROPERTY) < 205 | name = <"oid"> 206 | type = <"String"> 207 | is_im_infrastructure = 208 | > 209 | > 210 | > 211 | 212 | ["II"] = < 213 | name = <"II"> 214 | ancestors = <"DATA_VALUE", ...> 215 | properties = < 216 | ["root"] = (P_BMM_SINGLE_PROPERTY) < 217 | name = <"root"> 218 | type = <"OID"> 219 | > 220 | ["extension"] = (P_BMM_SINGLE_PROPERTY) < 221 | name = <"extension"> 222 | type = <"String"> 223 | > 224 | ["assigningAuthorityName"] = (P_BMM_SINGLE_PROPERTY) < 225 | name = <"assigningAuthorityName"> 226 | type = <"String"> 227 | > 228 | ["time_validity"] = (P_BMM_GENERIC_PROPERTY) < 229 | name = <"time_validity"> 230 | type_def = < 231 | root_type = <"IVL"> 232 | generic_parameters = <"TS"> 233 | > 234 | is_im_runtime = 235 | > 236 | > 237 | > 238 | 239 | ["IVL"] = < 240 | name = <"IVL"> 241 | ancestors = <"DATA_VALUE", ...> 242 | generic_parameter_defs = < 243 | ["T"] = < 244 | name = <"T"> 245 | > 246 | > 247 | properties = < 248 | ["low"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 249 | name = <"low"> 250 | type = <"T"> 251 | > 252 | ["high"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 253 | name = <"high"> 254 | type = <"T"> 255 | > 256 | ["lowClosed"] = (P_BMM_SINGLE_PROPERTY) < 257 | name = <"lowClosed"> 258 | type = <"Boolean"> 259 | > 260 | ["highClosed"] = (P_BMM_SINGLE_PROPERTY) < 261 | name = <"highClosed"> 262 | type = <"Boolean"> 263 | > 264 | ["literal"] = (P_BMM_SINGLE_PROPERTY) < 265 | name = <"literal"> 266 | type = <"String"> 267 | > 268 | > 269 | > 270 | 271 | ------------------------------------------------------ 272 | --- Text classes 273 | ------------------------------------------------------ 274 | 275 | ["CS"] = < 276 | name = <"CS"> 277 | ancestors = <"CV", ...> 278 | > 279 | 280 | ["CD"] = < 281 | name = <"CD"> 282 | ancestors = <"DATA_VALUE", ...> 283 | properties = < 284 | ["codeValue"] = (P_BMM_SINGLE_PROPERTY) < 285 | name = <"codeValue"> 286 | type = <"String"> 287 | > 288 | ["codingScheme"] = (P_BMM_SINGLE_PROPERTY) < 289 | name = <"codingScheme"> 290 | type = <"OID"> 291 | > 292 | ["codingSchemeName"] = (P_BMM_SINGLE_PROPERTY) < 293 | name = <"codingSchemeName"> 294 | type = <"String"> 295 | > 296 | ["codingSchemeVersion"] = (P_BMM_SINGLE_PROPERTY) < 297 | name = <"codingSchemeVersion"> 298 | type = <"String"> 299 | > 300 | ["displayName"] = (P_BMM_SINGLE_PROPERTY) < 301 | name = <"displayName"> 302 | type = <"String"> 303 | > 304 | ["translations"] = (P_BMM_CONTAINER_PROPERTY) < 305 | name = <"translations"> 306 | type_def = < 307 | type = <"CD"> 308 | container_type = <"Set"> 309 | > 310 | > 311 | > 312 | > 313 | 314 | ["CV"] = < 315 | name = <"CV"> 316 | ancestors = <"CD", ...> 317 | > 318 | 319 | ["TEXT"] = < 320 | name = <"TEXT"> 321 | ancestors = <"DATA_VALUE", ...> 322 | properties = < 323 | ["originalText"] = (P_BMM_SINGLE_PROPERTY) < 324 | name = <"originalText"> 325 | type = <"String"> 326 | > 327 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 328 | name = <"language"> 329 | type = <"CS"> 330 | is_im_infrastructure = 331 | > 332 | ["charset"] = (P_BMM_SINGLE_PROPERTY) < 333 | name = <"charset"> 334 | type = <"CS"> 335 | > 336 | > 337 | > 338 | 339 | ["SIMPLE_TEXT"] = < 340 | name = <"SIMPLE_TEXT"> 341 | ancestors = <"TEXT", ...> 342 | > 343 | 344 | ["CODED_TEXT"] = < 345 | name = <"CODED_TEXT"> 346 | ancestors = <"TEXT", ...> 347 | properties = < 348 | ["codedValue"] = (P_BMM_SINGLE_PROPERTY) < 349 | name = <"codedValue"> 350 | type = <"CD"> 351 | > 352 | > 353 | > 354 | 355 | ------------------------------------------------------ 356 | --- Quantity types 357 | ------------------------------------------------------ 358 | 359 | ["QUANTITY"] = < 360 | name = <"QUANTITY"> 361 | ancestors = <"DATA_VALUE", ...> 362 | is_abstract = 363 | > 364 | 365 | ["RTO"] = < 366 | name = <"RTO"> 367 | ancestors = <"DATA_VALUE", ...> 368 | properties = < 369 | ["numerator"] = (P_BMM_SINGLE_PROPERTY) < 370 | name = <"numerator"> 371 | type = <"PQ"> 372 | > 373 | ["denominator"] = (P_BMM_SINGLE_PROPERTY) < 374 | name = <"denominator"> 375 | type = <"PQ"> 376 | > 377 | > 378 | > 379 | 380 | ["INT"] = < 381 | name = <"INT"> 382 | ancestors = <"DATA_VALUE", ...> 383 | properties = < 384 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 385 | name = <"value"> 386 | type = <"Integer"> 387 | > 388 | > 389 | > 390 | 391 | ["ORD"] = < 392 | name = <"ORD"> 393 | ancestors = <"DATA_VALUE", ...> 394 | properties = < 395 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 396 | name = <"value"> 397 | type = <"Integer"> 398 | > 399 | ["symbol"] = (P_BMM_SINGLE_PROPERTY) < 400 | name = <"symbol"> 401 | type = <"CODED_TEXT"> 402 | > 403 | > 404 | > 405 | 406 | ["PQ"] = < 407 | name = <"PQ"> 408 | ancestors = <"QUANTITY", ...> 409 | properties = < 410 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 411 | name = <"value"> 412 | type = <"Real"> 413 | > 414 | ["property"] = (P_BMM_SINGLE_PROPERTY) < 415 | name = <"property"> 416 | type = <"CD"> 417 | > 418 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 419 | name = <"units"> 420 | type = <"CS"> 421 | > 422 | ["precision"] = (P_BMM_SINGLE_PROPERTY) < 423 | name = <"precision"> 424 | type = <"Integer"> 425 | > 426 | > 427 | > 428 | 429 | ["DURATION"] = < 430 | name = <"DURATION"> 431 | ancestors = <"QUANTITY", ...> 432 | properties = < 433 | ["days"] = (P_BMM_SINGLE_PROPERTY) < 434 | name = <"days"> 435 | type = <"Integer"> 436 | > 437 | ["hours"] = (P_BMM_SINGLE_PROPERTY) < 438 | name = <"hours"> 439 | type = <"Integer"> 440 | > 441 | ["minutes"] = (P_BMM_SINGLE_PROPERTY) < 442 | name = <"minutes"> 443 | type = <"Integer"> 444 | > 445 | ["seconds"] = (P_BMM_SINGLE_PROPERTY) < 446 | name = <"seconds"> 447 | type = <"Integer"> 448 | > 449 | ["fractional_second"] = (P_BMM_SINGLE_PROPERTY) < 450 | name = <"fractional_second"> 451 | type = <"Double"> 452 | > 453 | ["sign"] = (P_BMM_SINGLE_PROPERTY) < 454 | name = <"sign"> 455 | type = <"Integer"> 456 | > 457 | > 458 | > 459 | 460 | ["QUANTITY_RANGE"] = < 461 | name = <"QUANTITY_RANGE"> 462 | ancestors = <"DATA_VALUE", ...> 463 | properties = < 464 | ["range"] = (P_BMM_GENERIC_PROPERTY) < 465 | name = <"range"> 466 | type_def = < 467 | root_type = <"IVL"> 468 | generic_parameters = <"PQ"> 469 | > 470 | > 471 | > 472 | > 473 | 474 | -- 475 | -- replacement for IVT; synonym type for QUANTITY_RANGE 476 | -- 477 | ["IVLPQ"] = < 478 | name = <"IVLPQ"> 479 | ancestors = <"IVL", ...> 480 | properties = < 481 | ["low"] = (P_BMM_SINGLE_PROPERTY) < 482 | name = <"low"> 483 | type = <"PQ"> 484 | > 485 | ["high"] = (P_BMM_SINGLE_PROPERTY) < 486 | name = <"high"> 487 | type = <"PQ"> 488 | > 489 | > 490 | > 491 | 492 | -- 493 | -- replacement for IVL_ 494 | -- 495 | ["IVLTS"] = < 496 | name = <"IVLTS"> 497 | ancestors = <"IVL", ...> 498 | properties = < 499 | ["low"] = (P_BMM_SINGLE_PROPERTY) < 500 | name = <"low"> 501 | type = <"TS"> 502 | > 503 | ["high"] = (P_BMM_SINGLE_PROPERTY) < 504 | name = <"high"> 505 | type = <"TS"> 506 | > 507 | ["width"] = (P_BMM_SINGLE_PROPERTY) < 508 | name = <"width"> 509 | type = <"DURATION"> 510 | > 511 | > 512 | > 513 | 514 | ------------------------------------------------------ 515 | --- Time types 516 | ------------------------------------------------------ 517 | 518 | ["EIVL"] = < 519 | name = <"EIVL"> 520 | ancestors = <"DATA_VALUE", ...> 521 | properties = < 522 | ["event"] = (P_BMM_SINGLE_PROPERTY) < 523 | name = <"event"> 524 | type = <"CD"> 525 | > 526 | ["offset"] = (P_BMM_SINGLE_PROPERTY) < 527 | name = <"offset"> 528 | type = <"DURATION"> 529 | > 530 | > 531 | > 532 | 533 | ["PIVL"] = < 534 | name = <"PIVL"> 535 | ancestors = <"DATA_VALUE", ...> 536 | properties = < 537 | ["phase"] = (P_BMM_GENERIC_PROPERTY) < 538 | name = <"phase"> 539 | type_def = < 540 | root_type = <"IVL"> 541 | generic_parameters = <"TS"> 542 | > 543 | > 544 | ["period"] = (P_BMM_SINGLE_PROPERTY) < 545 | name = <"period"> 546 | type = <"DURATION"> 547 | > 548 | ["alignment"] = (P_BMM_SINGLE_PROPERTY) < 549 | name = <"alignment"> 550 | type = <"CD"> 551 | > 552 | > 553 | > 554 | 555 | ["TS"] = < 556 | name = <"TS"> 557 | ancestors = <"DATA_VALUE", ...> 558 | properties = < 559 | ["time"] = (P_BMM_SINGLE_PROPERTY) < 560 | name = <"time"> 561 | type = <"String"> 562 | > 563 | > 564 | > 565 | 566 | ["DATE"] = < 567 | name = <"DATE"> 568 | ancestors = <"DATA_VALUE", ...> 569 | properties = < 570 | ["date"] = (P_BMM_SINGLE_PROPERTY) < 571 | name = <"date"> 572 | type = <"String"> 573 | > 574 | > 575 | > 576 | 577 | > 578 | 579 | --| 580 | --| ***** BEGIN LICENSE BLOCK ***** 581 | --| Version: MPL 1.1/GPL 2.0/LGPL 2.1 582 | --| 583 | --| The contents of this file are subject to the Mozilla Public License Version 584 | --| 1.1 (the 'License'); you may not use this file except in compliance with 585 | --| the License. You may obtain a copy of the License at 586 | --| http://www.mozilla.org/MPL/ 587 | --| 588 | --| Software distributed under the License is distributed on an 'AS IS' basis, 589 | --| WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 590 | --| for the specific language governing rights and limitations under the 591 | --| License. 592 | --| 593 | --| The Original Code is cen_data_types_0.90.bmm 594 | --| 595 | --| The Initial Developer of the Original Code is Thomas Beale. 596 | --| Portions created by the Initial Developer are Copyright (C) 2011 597 | --| the Initial Developer. All Rights Reserved. 598 | --| 599 | --| Contributor(s): 600 | --| 601 | --| Alternatively, the contents of this file may be used under the terms of 602 | --| either the GNU General Public License Version 2 or later (the 'GPL'), or 603 | --| the GNU Lesser General Public License Version 2.1 or later (the 'LGPL'), 604 | --| in which case the provisions of the GPL or the LGPL are applicable instead 605 | --| of those above. If you wish to allow use of your version of this file only 606 | --| under the terms of either the GPL or the LGPL, and not to allow others to 607 | --| use your version of this file under the terms of the MPL, indicate your 608 | --| decision by deleting the provisions above and replace them with the notice 609 | --| and other provisions required by the GPL or the LGPL. If you do not delete 610 | --| the provisions above, a recipient may use your version of this file under 611 | --| the terms of any one of the MPL, the GPL or the LGPL. 612 | --| 613 | --| ***** END LICENSE BLOCK ***** 614 | --| 615 | -------------------------------------------------------------------------------- /models/ISO_21090/2011/BMM/iso_21090_0.9.0.bmm: -------------------------------------------------------------------------------- 1 | -- 2 | -- keywords: data types, 21090 3 | -- author: Thomas Beale 4 | -- support: thomas.beale@oceaninformatics.com 5 | -- copyright: Copyright (c) 2011 openEHR Foundation 6 | -- license: Apache 2.0 7 | -- 8 | -- 9 | 10 | ------------------------------------------------------ 11 | -- BMM version on which these schemas are based. 12 | -- Current BMM version can be found as value of 'Bmm_internal_version' in 13 | -- http://www.openehr.org/svn/ref_impl_eiffel/BRANCHES/adl1.5/libraries/common_libs/src/basic_meta_model/bmm_definitions.e 14 | -- 15 | ------------------------------------------------------ 16 | bmm_version = <"2.3"> 17 | 18 | ------------------------------------------------------ 19 | -- schema identification 20 | -- (schema_id computed as __) 21 | ------------------------------------------------------ 22 | rm_publisher = <"iso"> 23 | schema_name = <"21090"> 24 | rm_release = <"0.9.0"> 25 | 26 | ------------------------------------------------------ 27 | -- schema documentation 28 | ------------------------------------------------------ 29 | schema_revision = <"0.9.5"> 30 | schema_lifecycle_state = <"experimental"> 31 | schema_description = <"13606 Release 2008 draft reference model, expressed in 'basic meta-model' format described in ISO 13606"> 32 | schema_author = <"thomas.beale@openehr.org"> 33 | 34 | ------------------------------------------------------ 35 | -- inclusions 36 | ------------------------------------------------------ 37 | includes = < 38 | ["1"] = < 39 | id = <"openehr_primitive_types_1.0.2"> 40 | > 41 | > 42 | 43 | ------------------------------------------------------ 44 | -- packages 45 | ------------------------------------------------------ 46 | packages = < 47 | ["org.iso.21090.data_types"] = < 48 | name = <"org.iso.21090.data_types"> 49 | classes = <"21090_ANY", "ED", "TS", "URI", "BL", "OID", "IVL", "IVLTS", "II", 50 | "CS", "CD", "CV", "TEXT", "SIMPLE", "CODED_TEXT", 51 | "RTO", "CO", "PQ", "QTY", "INT", "NONNEG", "POS", "PQR", 52 | "DATE", "TIME", "DATETIME", "INSTANT", "EIVL", "PIVL", "HXIT", "ST", "SC", "MO", 53 | "QSET", "DSET", 54 | "EN", "ENXP", "EntityNameUse", "EntityNamePartQualifier", "EntityNamePartType", "ON", 55 | "AD", "ADXP", "AddressPartType", "PostalAddressUse", "TEL", "TelecommunicationAddressUse"> 56 | > 57 | ["org.openehr.rm.assumed_types"] = < 58 | name = <"org.openehr.rm.assumed_types"> 59 | classes = <"Binary", "Uid", "Decimal", "Bag", "Sequence"> 60 | > 61 | > 62 | 63 | ------------------------------------------------------ 64 | -- primitive types 65 | ------------------------------------------------------ 66 | 67 | primitive_types = < 68 | ["Binary"] = < 69 | name = <"Binary"> 70 | ancestors = <"Any", ...> 71 | > 72 | ["Decimal"] = < 73 | name = <"Decimal"> 74 | ancestors = <"Any", ...> 75 | > 76 | ["Uid"] = < 77 | name = <"Uid"> 78 | ancestors = <"Any", ...> 79 | > 80 | ["Bag"] = < 81 | name = <"Bag"> 82 | ancestors = <"Any", ...> 83 | generic_parameter_defs = < 84 | ["T"] = < 85 | name = <"T"> 86 | > 87 | > 88 | > 89 | ["Sequence"] = < 90 | name = <"Sequence"> 91 | ancestors = <"Any", ...> 92 | generic_parameter_defs = < 93 | ["T"] = < 94 | name = <"T"> 95 | > 96 | > 97 | > 98 | > 99 | 100 | ------------------------------------------------------ 101 | -- classes 102 | ------------------------------------------------------ 103 | 104 | class_definitions = < 105 | 106 | ------------------------------------------------------ 107 | --- Core 108 | ------------------------------------------------------ 109 | 110 | ["HXIT"] = < 111 | name = <"HXIT"> 112 | is_abstract = 113 | properties = < 114 | ["validTimeLow"] = (P_BMM_SINGLE_PROPERTY) < 115 | name = <"validTimeLow"> 116 | type = <"String"> 117 | > 118 | ["validTimeHigh"] = (P_BMM_SINGLE_PROPERTY) < 119 | name = <"validTimeHigh"> 120 | type = <"String"> 121 | > 122 | ["contolInformationRoot"] = (P_BMM_SINGLE_PROPERTY) < 123 | name = <"contolInformationRoot"> 124 | type = <"Uid"> 125 | > 126 | ["contolInformationExtension"] = (P_BMM_SINGLE_PROPERTY) < 127 | name = <"contolInformationExtension"> 128 | type = <"Uid"> 129 | > 130 | > 131 | > 132 | 133 | ["21090_ANY"] = < 134 | name = <"21090_ANY"> 135 | ancestors = <"HXIT", ...> 136 | is_abstract = 137 | properties = < 138 | ["nullFlavor"] = (P_BMM_SINGLE_PROPERTY) < 139 | name = <"nullFlavor"> 140 | type = <"CS"> 141 | > 142 | ["flavorId"] = (P_BMM_CONTAINER_PROPERTY) < 143 | name = <"flavorId"> 144 | type_def = < 145 | type = <"String"> 146 | container_type = <"Set"> 147 | > 148 | > 149 | ["updateMode"] = (P_BMM_SINGLE_PROPERTY) < 150 | name = <"updateMode"> 151 | type = <"CS"> 152 | > 153 | > 154 | > 155 | 156 | ["ED"] = < 157 | name = <"ED"> 158 | ancestors = <"21090_ANY", ...> 159 | properties = < 160 | ["mediaType"] = (P_BMM_SINGLE_PROPERTY) < 161 | name = <"mediaType"> 162 | type = <"CS"> 163 | > 164 | ["charset"] = (P_BMM_SINGLE_PROPERTY) < 165 | name = <"charset"> 166 | type = <"CS"> 167 | > 168 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 169 | name = <"language"> 170 | type = <"CS"> 171 | > 172 | ["size"] = (P_BMM_SINGLE_PROPERTY) < 173 | name = <"size"> 174 | type = <"Integer"> 175 | > 176 | ["compression"] = (P_BMM_SINGLE_PROPERTY) < 177 | name = <"compression"> 178 | type = <"CS"> 179 | > 180 | ["reference"] = (P_BMM_SINGLE_PROPERTY) < 181 | name = <"reference"> 182 | type = <"URI"> 183 | > 184 | ["integrityCheck"] = (P_BMM_SINGLE_PROPERTY) < 185 | name = <"integrityCheck"> 186 | type = <"Binary"> 187 | > 188 | ["data"] = (P_BMM_SINGLE_PROPERTY) < 189 | name = <"data"> 190 | type = <"Binary"> 191 | > 192 | ["integrityCheckAlgorithm"] = (P_BMM_SINGLE_PROPERTY) < 193 | name = <"integrityCheckAlgorithm"> 194 | type = <"String"> 195 | > 196 | ["thumbnail"] = (P_BMM_SINGLE_PROPERTY) < 197 | name = <"thumbnail"> 198 | type = <"ED"> 199 | > 200 | > 201 | > 202 | ["URI"] = < 203 | name = <"URI"> 204 | ancestors = <"21090_ANY", ...> 205 | properties = < 206 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 207 | name = <"value"> 208 | type = <"String"> 209 | is_mandatory = 210 | > 211 | ["scheme"] = (P_BMM_SINGLE_PROPERTY) < 212 | name = <"scheme"> 213 | type = <"String"> 214 | is_mandatory = 215 | > 216 | ["path"] = (P_BMM_SINGLE_PROPERTY) < 217 | name = <"path"> 218 | type = <"String"> 219 | is_mandatory = 220 | > 221 | ["fragment_id"] = (P_BMM_SINGLE_PROPERTY) < 222 | name = <"fragment_id"> 223 | type = <"String"> 224 | is_mandatory = 225 | > 226 | ["query"] = (P_BMM_SINGLE_PROPERTY) < 227 | name = <"query"> 228 | type = <"String"> 229 | is_mandatory = 230 | > 231 | ["literal"] = (P_BMM_SINGLE_PROPERTY) < 232 | name = <"literal"> 233 | type = <"String"> 234 | is_mandatory = 235 | > 236 | > 237 | > 238 | 239 | ["BL"] = < 240 | name = <"BL"> 241 | ancestors = <"21090_ANY", ...> 242 | properties = < 243 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 244 | name = <"value"> 245 | type = <"Boolean"> 246 | > 247 | > 248 | > 249 | 250 | ["OID"] = < 251 | name = <"OID"> 252 | ancestors = <"21090_ANY", ...> 253 | properties = < 254 | ["oid"] = (P_BMM_SINGLE_PROPERTY) < 255 | name = <"oid"> 256 | type = <"String"> 257 | is_mandatory = 258 | > 259 | > 260 | > 261 | 262 | ["II"] = < 263 | name = <"II"> 264 | ancestors = <"21090_ANY", ...> 265 | properties = < 266 | ["root"] = (P_BMM_SINGLE_PROPERTY) < 267 | name = <"codingSchemeName"> 268 | type = <"Uid"> 269 | > 270 | ["extension"] = (P_BMM_SINGLE_PROPERTY) < 271 | name = <"extension"> 272 | type = <"String"> 273 | > 274 | ["identifiedName"] = (P_BMM_SINGLE_PROPERTY) < 275 | name = <"identifiedName"> 276 | type = <"String"> 277 | > 278 | ["scope"] = (P_BMM_SINGLE_PROPERTY) < 279 | name = <"scope"> 280 | type = <"CS"> 281 | > 282 | ["identifierReliability"] = (P_BMM_SINGLE_PROPERTY) < 283 | name = <"identifierReliability"> 284 | type = <"CS"> 285 | > 286 | ["displayable"] = (P_BMM_SINGLE_PROPERTY) < 287 | name = <"displayable"> 288 | type = <"Boolean"> 289 | > 290 | > 291 | > 292 | 293 | ["IVL"] = < 294 | name = <"IVL"> 295 | ancestors = <"21090_ANY", ...> 296 | generic_parameter_defs = < 297 | ["T"] = < 298 | name = <"T"> 299 | conforms_to_type = <"QTY"> 300 | > 301 | > 302 | properties = < 303 | ["low"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 304 | name = <"low"> 305 | type = <"T"> 306 | > 307 | ["high"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 308 | name = <"high"> 309 | type = <"T"> 310 | > 311 | ["lowClosed"] = (P_BMM_SINGLE_PROPERTY) < 312 | name = <"lowClosed"> 313 | type = <"Boolean"> 314 | > 315 | ["highClosed"] = (P_BMM_SINGLE_PROPERTY) < 316 | name = <"highClosed"> 317 | type = <"Boolean"> 318 | > 319 | ["width"] = (P_BMM_SINGLE_PROPERTY) < 320 | name = <"width"> 321 | type = <"QTY"> 322 | > 323 | ["any"] = (P_BMM_SINGLE_PROPERTY_OPEN) < 324 | name = <"any"> 325 | type = <"T"> 326 | > 327 | > 328 | > 329 | 330 | ["IVLTS"] = < 331 | name = <"IVLTS"> 332 | ancestors = <"IVL", ...> 333 | properties = < 334 | ["low"] = (P_BMM_SINGLE_PROPERTY) < 335 | name = <"low"> 336 | type = <"TS"> 337 | > 338 | ["high"] = (P_BMM_SINGLE_PROPERTY) < 339 | name = <"high"> 340 | type = <"TS"> 341 | > 342 | ["any"] = (P_BMM_SINGLE_PROPERTY) < 343 | name = <"any"> 344 | type = <"TS"> 345 | > 346 | > 347 | > 348 | 349 | ------------------------------------------------------ 350 | --- Text classes 351 | ------------------------------------------------------ 352 | 353 | ["ST"] = < 354 | name = <"ST"> 355 | ancestors = <"21090_ANY", ...> 356 | properties = < 357 | ["language"] = (P_BMM_SINGLE_PROPERTY) < 358 | name = <"language"> 359 | type = <"CS"> 360 | > 361 | ["translation"] = (P_BMM_CONTAINER_PROPERTY) < 362 | name = <"translation"> 363 | type_def = < 364 | type = <"ST"> 365 | container_type = <"Set"> 366 | > 367 | > 368 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 369 | name = <"value"> 370 | type = <"String"> 371 | > 372 | > 373 | > 374 | 375 | ["SC"] = < 376 | name = <"SC"> 377 | ancestors = <"ST", ...> 378 | properties = < 379 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 380 | name = <"code"> 381 | type = <"CD"> 382 | > 383 | > 384 | > 385 | 386 | ------------------------------------------------------ 387 | --- coded Text classes 388 | ------------------------------------------------------ 389 | 390 | ["CS"] = < 391 | name = <"CS"> 392 | ancestors = <"21090_ANY", ...> 393 | properties = < 394 | ["codeValue"] = (P_BMM_SINGLE_PROPERTY) < 395 | name = <"codeValue"> 396 | type = <"String"> 397 | > 398 | ["codingSystem"] = (P_BMM_SINGLE_PROPERTY) < 399 | name = <"codeSystem"> 400 | type = <"Uid"> 401 | > 402 | ["codeSystemName"] = (P_BMM_SINGLE_PROPERTY) < 403 | name = <"codeSystemName"> 404 | type = <"String"> 405 | > 406 | ["codeSystemVersion"] = (P_BMM_SINGLE_PROPERTY) < 407 | name = <"codeSystemVersion"> 408 | type = <"String"> 409 | > 410 | ["originalText"] = (P_BMM_SINGLE_PROPERTY) < 411 | name = <"originalText"> 412 | type = <"ED"> 413 | > 414 | > 415 | > 416 | 417 | ["CD"] = < 418 | name = <"CD"> 419 | ancestors = <"CS", ...> 420 | properties = < 421 | ["valueSet"] = (P_BMM_SINGLE_PROPERTY) < 422 | name = <"valueSet"> 423 | type = <"Uid"> 424 | > 425 | ["valueSetVersion"] = (P_BMM_SINGLE_PROPERTY) < 426 | name = <"valueSetVersion"> 427 | type = <"String"> 428 | > 429 | ["displayName"] = (P_BMM_SINGLE_PROPERTY) < 430 | name = <"displayName"> 431 | type = <"ST"> 432 | > 433 | ["codingRationale"] = (P_BMM_SINGLE_PROPERTY) < 434 | name = <"codingRationale"> 435 | type = <"CS"> 436 | > 437 | ["source"] = (P_BMM_SINGLE_PROPERTY) < 438 | name = <"source"> 439 | type = <"CD"> 440 | > 441 | ["translation"] = (P_BMM_CONTAINER_PROPERTY) < 442 | name = <"translation"> 443 | type_def = < 444 | type = <"CD"> 445 | container_type = <"Set"> 446 | > 447 | > 448 | > 449 | > 450 | 451 | ["CV"] = < 452 | name = <"CV"> 453 | ancestors = <"CD", ...> 454 | > 455 | 456 | ["TEXT"] = < 457 | name = <"TEXT"> 458 | ancestors = <"ED", ...> 459 | > 460 | 461 | ["SIMPLE"] = < 462 | name = <"SIMPLE"> 463 | ancestors = <"ST", ...> 464 | > 465 | 466 | ["CODED_TEXT"] = < 467 | name = <"CODED_TEXT"> 468 | ancestors = <"CD", ...> 469 | > 470 | 471 | ------------------------------------------------------ 472 | --- Quantity types 473 | ------------------------------------------------------ 474 | 475 | ["QTY"] = < 476 | name = <"QTY"> 477 | ancestors = <"21090_ANY", ...> 478 | is_abstract = 479 | properties = < 480 | ["expression"] = (P_BMM_SINGLE_PROPERTY) < 481 | name = <"expression"> 482 | type = <"ED"> 483 | > 484 | ["originalText"] = (P_BMM_SINGLE_PROPERTY) < 485 | name = <"originalText"> 486 | type = <"TEXT"> 487 | > 488 | ["uncertainty"] = (P_BMM_SINGLE_PROPERTY) < 489 | name = <"uncertainty"> 490 | type = <"QTY"> 491 | > 492 | ["uncertaintyType"] = (P_BMM_SINGLE_PROPERTY) < 493 | name = <"uncertaintyType"> 494 | type = <"CS"> 495 | > 496 | ["uncertainRange"] = (P_BMM_GENERIC_PROPERTY) < 497 | name = <"uncertainRange"> 498 | type_def = < 499 | root_type = <"IVL"> 500 | generic_parameters = <"QTY"> 501 | > 502 | > 503 | > 504 | > 505 | 506 | ["INT"] = < 507 | name = <"INT"> 508 | ancestors = <"QTY", ...> 509 | properties = < 510 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 511 | name = <"value"> 512 | type = <"Integer"> 513 | > 514 | > 515 | > 516 | 517 | ["NONNEG"] = < 518 | name = <"NONNEG"> 519 | ancestors = <"INT", ...> 520 | > 521 | 522 | ["POS"] = < 523 | name = <"POS"> 524 | ancestors = <"NONNEG", ...> 525 | > 526 | 527 | ["RTO"] = < 528 | name = <"RTO"> 529 | ancestors = <"QTY", ...> 530 | properties = < 531 | ["numerator"] = (P_BMM_SINGLE_PROPERTY) < 532 | name = <"numerator"> 533 | type = <"QTY"> 534 | > 535 | ["denominator"] = (P_BMM_SINGLE_PROPERTY) < 536 | name = <"denominator"> 537 | type = <"QTY"> 538 | > 539 | > 540 | > 541 | 542 | ["CO"] = < 543 | name = <"CO"> 544 | ancestors = <"QTY", ...> 545 | properties = < 546 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 547 | name = <"value"> 548 | type = <"Decimal"> 549 | > 550 | ["code"] = (P_BMM_SINGLE_PROPERTY) < 551 | name = <"code"> 552 | type = <"CD"> 553 | > 554 | > 555 | > 556 | ["PQ"] = < 557 | name = <"PQ"> 558 | ancestors = <"QTY", ...> 559 | properties = < 560 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 561 | name = <"value"> 562 | type = <"Decimal"> 563 | > 564 | ["units"] = (P_BMM_SINGLE_PROPERTY) < 565 | name = <"units"> 566 | type = <"CS"> 567 | > 568 | ["translation"] = (P_BMM_CONTAINER_PROPERTY) < 569 | name = <"translation"> 570 | type_def = < 571 | type = <"PQR"> 572 | container_type = <"Set"> 573 | > 574 | > 575 | ["codingRationale"] = (P_BMM_SINGLE_PROPERTY) < 576 | name = <"codingRationale"> 577 | type = <"CS"> 578 | > 579 | > 580 | > 581 | ["PQR"] = < 582 | name = <"PQR"> 583 | ancestors = <"CD", ...> 584 | properties = < 585 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 586 | name = <"value"> 587 | type = <"Decimal"> 588 | > 589 | > 590 | > 591 | 592 | ["MO"] = < 593 | name = <"MO"> 594 | ancestors = <"QTY", ...> 595 | properties = < 596 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 597 | name = <"value"> 598 | type = <"Decimal"> 599 | > 600 | ["currency"] = (P_BMM_SINGLE_PROPERTY) < 601 | name = <"currency"> 602 | type = <"CS"> 603 | > 604 | > 605 | > 606 | 607 | ["QSET"] = < 608 | name = <"QSET"> 609 | ancestors = <"21090_ANY", ...> 610 | properties = < 611 | ["originalText"] = (P_BMM_SINGLE_PROPERTY) < 612 | name = <"originalText"> 613 | type = <"TEXT"> 614 | > 615 | > 616 | > 617 | 618 | ["EIVL"] = < 619 | name = <"EIVL"> 620 | ancestors = <"QSET", ...> 621 | properties = < 622 | ["event"] = (P_BMM_SINGLE_PROPERTY) < 623 | name = <"event"> 624 | type = <"CD"> 625 | > 626 | ["offset"] = (P_BMM_GENERIC_PROPERTY) < 627 | name = <"offset"> 628 | type_def = < 629 | root_type = <"IVL"> 630 | generic_parameters = <"PQ"> 631 | > 632 | > 633 | > 634 | > 635 | 636 | ["PIVL"] = < 637 | name = <"PIVL"> 638 | ancestors = <"QSET", ...> 639 | properties = < 640 | ["phase"] = (P_BMM_GENERIC_PROPERTY) < 641 | name = <"phase"> 642 | type_def = < 643 | root_type = <"IVL"> 644 | generic_parameters = <"TS"> 645 | > 646 | > 647 | ["frequency"] = (P_BMM_SINGLE_PROPERTY) < 648 | name = <"frequency"> 649 | type = <"RTO"> 650 | > 651 | ["period"] = (P_BMM_SINGLE_PROPERTY) < 652 | name = <"period"> 653 | type = <"PQ"> 654 | > 655 | ["alignment"] = (P_BMM_SINGLE_PROPERTY) < 656 | name = <"alignment"> 657 | type = <"CD"> 658 | > 659 | ["isFlexible"] = (P_BMM_SINGLE_PROPERTY) < 660 | name = <"isFlexible"> 661 | type = <"Boolean"> 662 | > 663 | ["count"] = (P_BMM_SINGLE_PROPERTY) < 664 | name = <"count"> 665 | type = <"INT"> 666 | > 667 | > 668 | > 669 | 670 | ["TS"] = < 671 | name = <"TS"> 672 | ancestors = <"QTY", ...> 673 | properties = < 674 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 675 | name = <"value"> 676 | type = <"String"> 677 | > 678 | > 679 | > 680 | 681 | ["INSTANT"] = < 682 | name = <"INSTANT"> 683 | ancestors = <"TS", ...> 684 | > 685 | 686 | ["DATE"] = < 687 | name = <"DATE"> 688 | ancestors = <"TS", ...> 689 | > 690 | 691 | ["TIME"] = < 692 | name = <"TIME"> 693 | ancestors = <"TS", ...> 694 | > 695 | 696 | ["DATETIME"] = < 697 | name = <"DATETIME"> 698 | ancestors = <"TS", ...> 699 | > 700 | 701 | ------------------------------------------------------ 702 | --- Container classes 703 | ------------------------------------------------------ 704 | 705 | ["DSET"] = < 706 | name = <"DSET"> 707 | ancestors = <"21090_ANY", ...> 708 | generic_parameter_defs = < 709 | ["T"] = < 710 | name = <"T"> 711 | conforms_to_type = <"21090_ANY"> 712 | > 713 | > 714 | properties = < 715 | ["item"] = (P_BMM_CONTAINER_PROPERTY) < 716 | name = <"item"> 717 | type_def = < 718 | type = <"T"> 719 | container_type = <"Bag"> 720 | > 721 | > 722 | > 723 | > 724 | 725 | ------------------------------------------------------ 726 | --- Entity Name classes 727 | ------------------------------------------------------ 728 | 729 | ["EN"] = < 730 | name = <"EN"> 731 | ancestors = <"21090_ANY", ...> 732 | properties = < 733 | ["part"] = (P_BMM_CONTAINER_PROPERTY) < 734 | name = <"part"> 735 | type_def = < 736 | type = <"ENXP"> 737 | container_type = <"Sequence"> 738 | > 739 | > 740 | ["use"] = (P_BMM_CONTAINER_PROPERTY) < 741 | name = <"use"> 742 | type_def = < 743 | type = <"EntityNameUse"> 744 | container_type = <"Set"> 745 | > 746 | > 747 | > 748 | > 749 | 750 | ["EntityNameUse"] = (P_BMM_ENUMERATION_STRING) < 751 | name = <"EntityNameUse"> 752 | ancestors = <"String", ...> 753 | item_names = <"C", "OR", "T", "I", "P", "A", "R", "OLD", "DN", "M", "SRCH", "PHON", "ABC", "SYL", "IDE"> 754 | > 755 | 756 | ["EntityNamePartQualifier"] = (P_BMM_ENUMERATION_STRING) < 757 | name = <"EntityNamePartQualifier"> 758 | ancestors = <"String", ...> 759 | item_names = <"LS", "AC", "NB", "PR", "HON", "BR", "AD", "SP", "MID", "CL", "IN", "PFX", "SFX"> 760 | > 761 | 762 | ["EntityNamePartType"] = (P_BMM_ENUMERATION_STRING) < 763 | name = <"EntityNamePartType"> 764 | ancestors = <"String", ...> 765 | item_names = <"FAM", "GIV", "TITLE", "DEL"> 766 | > 767 | 768 | ["ENXP"] = < 769 | name = <"ENXP"> 770 | ancestors = <"Any", ...> 771 | properties = < 772 | ["qualifier"] = (P_BMM_CONTAINER_PROPERTY) < 773 | name = <"qualifier"> 774 | type_def = < 775 | type = <"EntityNamePartQualifier"> 776 | container_type = <"Set"> 777 | > 778 | > 779 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 780 | name = <"type"> 781 | type = <"EntityNamePartType"> 782 | > 783 | > 784 | > 785 | 786 | ["ON"] = < 787 | name = <"ON"> 788 | ancestors = <"EN", ...> 789 | > 790 | 791 | ------------------------------------------------------ 792 | --- Address classes 793 | ------------------------------------------------------ 794 | 795 | ["AD"] = < 796 | name = <"AD"> 797 | ancestors = <"21090_ANY", ...> 798 | properties = < 799 | ["part"] = (P_BMM_CONTAINER_PROPERTY) < 800 | name = <"part"> 801 | type_def = < 802 | type = <"ADXP"> 803 | container_type = <"Sequence"> 804 | > 805 | > 806 | ["use"] = (P_BMM_CONTAINER_PROPERTY) < 807 | name = <"use"> 808 | type_def = < 809 | type = <"PostalAddressUse"> 810 | container_type = <"Set"> 811 | > 812 | > 813 | > 814 | > 815 | 816 | ["PostalAddressUse"] = (P_BMM_ENUMERATION_STRING) < 817 | name = <"PostalAddressUse"> 818 | ancestors = <"String", ...> 819 | item_names = <"H", "HP", "HV", "WP", "DIR", "PUB", "BAD", "PHYS", "PST", "TMP", "ABC", "IDE", "SYL", "SRCH", "SNDX", "PHON"> 820 | > 821 | 822 | ["ADXP"] = < 823 | name = <"ADXP"> 824 | ancestors = <"Any", ...> 825 | properties = < 826 | ["qualifier"] = (P_BMM_CONTAINER_PROPERTY) < 827 | name = <"qualifier"> 828 | type_def = < 829 | type = <"EntityNamePartQualifier"> 830 | container_type = <"Set"> 831 | > 832 | > 833 | ["type"] = (P_BMM_SINGLE_PROPERTY) < 834 | name = <"type"> 835 | type = <"EntityNamePartType"> 836 | > 837 | > 838 | > 839 | 840 | ["AddressPartType"] = (P_BMM_ENUMERATION_STRING) < 841 | name = <"AddressPartType"> 842 | ancestors = <"String", ...> 843 | item_names = <"AL", "ADL", "UNID", "UNIT", "DAL", "DINST", "DINSTA", "DINSTQ", "DMOD", "DMODID", "SAL", "BNR", "BNN", "BNS", "STR", "STB", "STTYP", "DIR", "INT", "CAR", "CEN", "CNT", "CPA", "CTY", "DEL", "POB", "PRE", "STA", "ZIP"> 844 | > 845 | 846 | ["TEL"] = < 847 | name = <"TEL"> 848 | ancestors = <"21090_ANY", ...> 849 | properties = < 850 | ["value"] = (P_BMM_SINGLE_PROPERTY) < 851 | name = <"value"> 852 | type = <"Uri"> 853 | > 854 | ["usablePeriod"] = (P_BMM_CONTAINER_PROPERTY) < 855 | name = <"usablePeriod"> 856 | type_def = < 857 | type = <"TS"> 858 | container_type = <"QSET"> 859 | > 860 | > 861 | ["use"] = (P_BMM_CONTAINER_PROPERTY) < 862 | name = <"use"> 863 | type_def = < 864 | type = <"TelecommunicationAddressUse"> 865 | container_type = <"Set"> 866 | > 867 | > 868 | > 869 | > 870 | 871 | ["TelecommunicationAddressUse"] = (P_BMM_ENUMERATION_STRING) < 872 | name = <"TelecommunicationAddressUse"> 873 | ancestors = <"String", ...> 874 | item_names = <"H", "HP", "HV", "WP", "DIR", "PUB", "BAD", "TMP", "AS", "EC", "MC", "PG"> 875 | > 876 | 877 | > 878 | 879 | -------------------------------------------------------------------------------- /models/openEHR/README.adoc: -------------------------------------------------------------------------------- 1 | 2 | The openEHR BMMs have moved to the specifications-ITS-BMM repo on Github: 3 | https://github.com/openEHR/specifications-ITS-BMM 4 | 5 | --------------------------------------------------------------------------------