The template below is interspersed with notes explaining the various steps.
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "This template schema represents...",
The description contains the measure the schema represents and whether it represents a single or aggregate measure.
    "type": "object",
    "references": [  
        {
            "description": "The XXX code represents yyy <specify here the term from a standard vocabulary that best describes this measure>",
            "url": "<link to term in BioPortal>"
        }
In references above you can add any relevant references; for example the website or paper used to inform the definition of this measure.
    ],
    "definitions": {
The definitions section should reference existing schemas that are used to define properties schema. The name should correspond to the schema name.
       "unit_value": {  
            "$ref": "unit-value-Y.x.json"
        },
unit_value references an existing specific unit value schema (for ex., mass-unit-value) or, if none applies, reference the generic unit value schema and then constrain the unit value set, as done in the example. If the measure is expressed by a number, do not reference the unit-value schema, but define the relevant property to be of type number (see property section below).
        "time_frame": {  
             "$ref": "time-frame-Y.x.json" 
            },
time_frame: if the measure can only be associated to either a date time or a time interval, a restriction can be placed within properties.
        "descriptive_statistic": { 
             "$ref": "descriptive-statistic-Y.x.json" 
        }
descriptive_statistic is used to describe the type of aggregate measure, for ex., maximum or average. Additional definitions are schema-specific, for ex., if measure is influenced by meals, the schema should include the data element temporal_relationship_to_meal (which references the temporal relationship to meal schema)
    }, 
    "properties": {
In properties above, list the properties of this schema. Choose a meaningful name, which may be the same name used in the definitions section or slightly different, as in the case of effective_time_frame below.
        "unit_value": {    
             "description": "The value of the quantitative measure, together with the relevant unit of measure.",   
             "$ref": "#/definitions/unit_value" 
        },
unit_value: for reference, the blood glucose example shows how to use the allOf construct to restrict the value set of allowable units of measure. The description describes the individual property, as needed.
        "effective_time_frame": {  
             "description": "The time frame to which the quantitative measure effectively refers.", 
             "$ref": "#/definitions/time_frame" 
         },
effective_time_frame: If the measure can only be associated to either a date time or a time interval, use the allOf construct to restrict time frame to be either time measure.
        "descriptive_statistic": { 
             "description": "The descriptive statistic of an aggregate measure.", 
             "$ref": "#/definitions/descriptive_statistic" 
         } 
     }, 
     "required": ["unit_value"]  
 } [12]
In the required section just above, list the properties whose value is required for data to validate against this schema. We place light restrictions here and defer to application-specific data quality checks to ensure data is complete for specific uses. Since additionalProperties is not specified, the default value (true) applies, which means data containing properties not listed in this section will validate against this schema. The annotated schema for Blood Glucose shows an application of this template.