HL7 Austria Reference IG
0.1.0 - ci-build

Developer's Handbook

This page contains helpful information for IG authors.

TBD

Possible topics:

  • how to specify the dependency on another IG
  • references to other IG guides
  • convention on IG's ID and canonical

Naming conventions

In general the HL7 FHIR naming conventions apply. Essentially these conventions ask for consistency and precision (i.e. minimizing ambiguity, while ensuring the meaning is easily understood) when naming fields, resources or operations.

Most of these guidelines are suggestions, except the following rules that must be followed:

  • be U.S. English (spelled correctly!)
  • be expressed as a noun, with a preceding adjective where necessary to clarify the semantics and to make unique
  • not make use of trade-marked terms
  • case style must be followed:
    • resources must be lower case - ex. at-core-patient, patient resource is all lower case
    • elements must be lowerCamelCase - ex. at-core-ext-address-additionalInformation, the element address.additionalInformation is lowerCamelCase
    • operations must be lower case - e. at-core-exampleoperation example operation is all lower case

Profile Naming conventions

The StructureDefintion Id of a profile follows a prefix pattern, meaning that a name from left to right goes from specific to generic. It uses UpperCamelCase.

ProfileName = [Realm-], Use-, ParentProfile

Realm = Is this profile supposed to be used in a realm? Then use the countryCode1

Use = What is this profile used for? lower case

ParentProfile = Which profile does this profile extend from? lower case

Example: Patient used in Austria, for ELGA.

Realm = Austria -> at- (country code)
Use = HL7 Austria FHIR Core -> core-
ParentProfile = Patient -> patient
at-core-patient

Example: Immunization information for ELGA

Realm = Austria -> at-
Use = ELGA -> elga-
ParentProfile = Immunization -> immunization
at-elga-immunization

Extension Naming conventions

The StructureDefintion Id of an extension follows a suffix pattern, meaning that a name from left to right goes from generic to specific.

ExtensionName = [Realm-], Use-, ext- ProfileItIsFor-, FieldItAdds

Realm = Is this profile supposed to be used in a realm? Then use the countryCode1

Use = What is this profile used for? lower case

ext- = indication that this is an Extension lower case

ProfileItIsFor = Either Base Profile or Profile previously defined (optional if extension can occur anywhere -> Ex. NullFlavor), without the Realm. lower case

FieldItAdds = unique naming for field lowerCamelCase

Example: Religions for a patient registered in Austria

Realm = Austria -> at-
Use = HL7 Austria FHIR Core -> core-
Profile = Patient -> patient-
FieldItAdds = Religion -> religion
at-core-ext-patient-religion

Example: Extra field in Address

Realm = Austria -> at-
Use = HL7 Austria FHIR Core -> core-
Profile = Address -> address
FieldItAdds = Additional Information -> additionalInformation
at-core-ext-address-additionalInformation
  1. country codes are ISO 3166-3 in the Alpha-2 code format, all lowercase.  2