TMF event management endpoints in the REST API
TM Forum’s (TMF) event data
Create alarms, retrieve alarms, update, and retrieve mappings for TMF 642-compliant alarms by running APIs.
Related topic
POST /alarm
Create a TMF-compliant alarm event
Use this endpoint to ingest an alarm event in with an event format that is compliant with the TMF 642 Open API standard.
Authorization: Bearer <JWT_token>
For instructions about obtaining the JWT token, see Access and authentication for the REST API..
Request body
"key": "value"
}
Example request body
Click here to expand...
"href": " http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"alarmRaisedTime": "2022-12-14T10:26:20.666Z",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"href": " http://api/alarmedobject/210875"
},
"sourceSystemId": "<sourceSystemId>",
"alarmDetails": "Threshold 2",
"state": "RAISED",
"ackState": "ACKNOWLEDGED",
"ackUserId": "JOHN DOE",
"ackSystemId": "OSS",
"clearUserId": "",
"clearSystemId": "",
"plannedOutageIndicator": "IN_SERVICE",
"alarmEscelation": "",
"serviceAffecting": "true",
"affectedService": [
{
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
}
],
"isRootCause": "true",
"correlatedAlarm": [
{
"id": "Service_ Vlan_dot1_dot2_19",
"href": "http://api/alarm/ Service_ Vlan_dot1_dot2_19"
}
],
"parentAlarm": [
{
"id": "",
"href": ""
}
],
"crossedThresholdInformation": {
"thresholdId": "Router IF_Inbount Traffic_001",
"thresholdRef": " http://api/threhold/Router IF_Inbount_Traffic_001",
"indicatorName": " IF_IN_MEGABITS ",
"observedValue": " 0.105",
"indicatorUnit": " MEGABITS",
"granularity": "5MINUTES",
"direction": "UP",
"thresholdCrossingDescription": "Threshold on primary counter: Inbound Traffic (Mbits) of ROUTER_IF"
},
"comments": [
{
"userId": "Jane Doe",
"time": "2022-12-14T10:26:20.666Z",
"systemId": "OSS_001",
"comment": "Problem reported to system engineering department"
}
]
}
Parameter details
Successful response
Click here to expand...
"id": "4518389308146664778",
"alarmRaisedTime": "2022-12-14T10:26:20.666Z",
"alarmedObjectType": "ROUTER",
"correlatedAlarm": [
{
"id": "Service_ Vlan_dot1_dot2_19",
"href": "http://api/alarm/ Service_ Vlan_dot1_dot2_19"
}
],
"alarmedObject": {
"id": "210875",
"href": "http://api/alarmedobject/210875"
},
"perceivedSeverity": "CRITICAL",
"affectedService": [
{
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
}
],
"ackSystemId": "OSS",
"href": " http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"state": "RAISED",
"crossedThresholdInformation": {
"indicatorName": " IF_IN_MEGABITS",
"thresholdCrossingDescription": "Threshold on primary counter: Inbound Traffic (Mbits) of ROUTER_IF",
"granularity": "5MINUTES",
"observedValue": " 0.105",
"thresholdId": "Router IF_Inbount Traffic_001",
"thresholdRef": " http://api/threhold/Router IF_Inbount_Traffic_001",
"indicatorUnit": " MEGABITS",
"direction": "UP"
},
"externalAlarmId": "cisco-7609-1937465789",
"clearSystemId": "",
"parentAlarm": [
{
"id": "",
"href": ""
}
],
"isRootCause": "true",
"ackUserId": "JOHN DOE",
"comments": [
{
"systemId": "OSS_001",
"comment": "Problem reported to system engineering department",
"time": "2022-12-14T10:26:20.666Z",
"userId": "Jane Doe"
}
],
"sourceSystemId": "clm-pun-v4mao9",
"clearUserId": "",
"serviceAffecting": "true",
"alarmEscelation": "",
"ackState": "ACKNOWLEDGED",
"alarmType": "QualityOfServiceAlarm",
"plannedOutageIndicator": "IN_SERVICE",
"alarmDetails": "Threshold 2"
}
GET /alarm
Get an alarm by ID
Use this endpoint to retrieve details of an alarm event in a format that is compliant with the TMF 642 Open API standard by specifying the event ID.
Authorization: Bearer <JWT_token>
For instructions about obtaining the JWT token, see Access and authentication for the REST API..
Parameter details
Successful response
Click here to expand...
{
"alarmRaisedTime": "2022-12-14T10:26:20.666Z",
"alarmClearedTime": "1970-01-01T00:00:00.000Z",
"alarmedObjectType": "ROUTER",
"correlatedAlarm": [
{
"id": "Service_ Vlan_dot1_dot2_19",
"href": "http://api/alarm/ Service_ Vlan_dot1_dot2_19"
}
],
"type": "",
"alarmReportingTime": "1970-01-01T00:00:00.000Z",
"perceivedSeverity": "CRITICAL",
"ackSystemId": "OSS",
"state": "RAISED",
"id": 2834562740590198300,
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"parentAlarm": [
{
"id": "",
"href": ""
}
],
"clearUserId": "",
"ackState": "ACKNOWLEDGED",
"proposedRepairActions": "[]",
"plannedOutageIndicator": "IN_SERVICE",
"alarmDetails": "Threshold 2",
"alarmedObject": {
"id": "210875",
"href": " http://api/alarmedobject/210875"
},
"alarmEscalation": "[]",
"alarmChangedTime": "1970-01-01T00:00:00.000Z",
"baseType": "",
"affectedService": [
{
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
}
],
"crossedThresholdInformation": {
"indicatorName": " IF_IN_MEGABITS ",
"thresholdCrossingDescription": "Threshold on primary counter: Inbound Traffic (Mbits) of ROUTER_IF",
"granularity": "5MINUTES",
"observedValue": " 0.105",
"thresholdId": "Router IF_Inbount Traffic_001",
"thresholdRef": " http://api/threhold/Router IF_Inbount_Traffic_001",
"indicatorUnit": " MEGABITS",
"direction": "UP"
},
"clearSystemId": "",
"isRootCause": "true",
"ackUserId": "JOHN DOE",
"comments": [
{
"systemId": "OSS_001",
"comment": "Problem reported to system engineering department",
"time": "2022-12-14T10:26:20.666Z",
"userId": "Jane Doe"
}
],
"schemaLocation": "",
"sourceSystemId": "<sourceSystemId>",
"alarmType": "QualityOfServiceAlarm"
}
]
Unsuccessful response
Scenario: You specify an alarm event that does not exist.
"message": "TMF Alarm event not found.",
"code": "404"
}
GET /alarm
Get a TMF-compliant alarm
Use this endpoint to retrieve specific attributes or all attributes of all alarm events in a format that is compliant with the TMF 642 Open API standard.
Authorization: Bearer <JWT_token>
For instructions about obtaining the JWT token, see Access and authentication for the REST API..
Parameter details
Successful response 1
Click here to expand...
If you specify only the alarmRaisedTime and id fields of the alarm event in the request URL.
{
"alarmRaisedTime": "2022-11-24T13:16:20.666Z",
"id": 1529325697965836500
},
{
"alarmRaisedTime": "2022-12-14T10:26:20.666Z",
"id": 5888507432061389000
}
]
Successful response 2
Click here to expand...
If you do not specify fields in the request URL as it is an optional parameter.
{
"alarmRaisedTime": "2022-11-24T13:16:20.666Z",
"alarmClearedTime": "1970-01-01T00:00:00.000Z",
"alarmedObjectType": "ROUTER",
"correlatedAlarm": [
{
"id": "Service_ Vlan_dot1_dot2_19",
"href": "http://api/alarm/ Service_ Vlan_dot1_dot2_19"
}
],
"type": "",
"alarmReportingTime": "1970-01-01T00:00:00.000Z",
"perceivedSeverity": "CRITICAL",
"ackSystemId": "OSS",
"state": "RAISED",
"id": 1529325697965836548,
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"parentAlarm": [
{
"id": "",
"href": ""
}
],
"clearUserId": "",
"ackState": "ACKNOWLEDGED",
"plannedOutageIndicator": "IN_SERVICE",
"alarmDetails": "Threshold 4",
"alarmedObject": {
"id": "210875",
"href": " http://api/alarmedobject/210875"
},
"alarmChangedTime": "1970-01-01T00:00:00.000Z",
"baseType": "",
"affectedService": [
{
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
}
],
"crossedThresholdInformation": {
"indicatorName": " IF_IN_MEGABITS ",
"thresholdCrossingDescription": "Threshold on primary counter: Inbound Traffic (Mbits) of ROUTER_IF",
"granularity": "5MINUTES",
"observedValue": " 0.105",
"thresholdId": "Router IF_Inbount Traffic_001",
"thresholdRef": " http://api/threhold/Router IF_Inbount_Traffic_001",
"indicatorUnit": " MEGABITS",
"direction": "UP"
},
"clearSystemId": "",
"isRootCause": "true",
"ackUserId": "JOHN DOE",
"comments": [
{
"systemId": "OSS_001",
"comment": "Problem reported to system engineering department",
"time": "2022-11-24T13:16:20.666Z",
"userId": "Jane Doe"
}
],
"schemaLocation": "",
"sourceSystemId": "clm-pun-v4mao9",
"alarmType": "QualityOfServiceAlarm"
},
{
"alarmRaisedTime": "2022-12-14T10:26:20.666Z",
"alarmClearedTime": "1970-01-01T00:00:00.000Z",
"type": "",
"ackSystemId": "OSS",
"state": "RAISED",
"id": 5888507432061389096,
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"parentAlarm": [
{
"id": "",
"href": ""
}
],
"clearUserId": "",
"ackState": "ACKNOWLEDGED",
"alarmedObject": {
"id": "210875",
"href": " http://api/alarmedobject/210875"
},
"alarmChangedTime": "1970-01-01T00:00:00.000Z",
"affectedService": [
{
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
}
],
"crossedThresholdInformation": {
"indicatorName": " IF_IN_MEGABITS ",
"thresholdCrossingDescription": "Threshold on primary counter: Inbound Traffic (Mbits) of ROUTER_IF",
"granularity": "5MINUTES",
"observedValue": " 0.105",
"thresholdId": "Router IF_Inbount Traffic_001",
"thresholdRef": " http://api/threhold/Router IF_Inbount_Traffic_001",
"indicatorUnit": " MEGABITS",
"direction": "UP"
},
"isRootCause": "true",
"schemaLocation": "",
"sourceSystemId": "clm-pun-v4mao9",
"alarmedObjectType": "ROUTER",
"correlatedAlarm": [
{
"id": "Service_ Vlan_dot1_dot2_19",
"href": "http://api/alarm/ Service_ Vlan_dot1_dot2_19"
}
],
"alarmReportingTime": "1970-01-01T00:00:00.000Z",
"perceivedSeverity": "CRITICAL",
"externalAlarmId": "cisco-7609-1937465789",
"plannedOutageIndicator": "IN_SERVICE",
"alarmDetails": "Threshold 1",
"baseType": "",
"clearSystemId": "",
"ackUserId": "JOHN DOE",
"comments": [
{
"systemId": "OSS_001",
"comment": "Problem reported to system engineering department",
"time": "2022-12-14T10:26:20.666Z",
"userId": "Jane Doe"
}
],
"alarmType": "QualityOfServiceAlarm"
}
]
Unsuccessful responses
Scenario 1: You specify an alarm event that does not exist.
"message": "TMF Alarm event not found.",
"code": "404"
}
Scenario 2: The number of events that you specify in the size parameter exceeds the maximum event limit.
"message": "Maximum allowed number of events in request is 10000.",
"code": "400"
}
PUT /tmf/mapping
TMF Alarm Event Mapping Service
Use this endpoint to map the TMF alarm event attributes to the event attributes to achieve event ingestion in a format that is compliant with the TMF 642 Open API standard. When you update a mapping, make sure that you send the entire request payload with the updated values. You need to configure the mapping for the following reasons:
Specify the date format or data type differences between the TMF alarm event attributes and the event attributes. Refer to the following table to understand the data type differences:
Attribute data type for the TMF event
Attribute data type considered for the event ingestion in BHOM
Long
String
Object
String
Object list
String
Date
Date
- Set the value of existing attributes in the event.
Authorization: Bearer <JWT_token>
For instructions about obtaining the JWT token, see Access and authentication for the REST API..
Request body
"attributes": [
{
"tmf": {
"name": "<Event slot name>",
"dataType": "<Slot data type in TMF>"
},
"bhom": {
"name": "<Event slot name>",
"dataType": "<Slot data type in BHOM>"
}
}
]
}
Example request body
Click here to expand...
"attributes": [
{
"tmf": {
"name": "id",
"dataType": "LONG"
},
"bhom": {
"name": "_identifier",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "externalAlarmId",
"dataType": "STRING"
},
"bhom": {
"name": "source_identifier",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "perceivedSeverity",
"dataType": "ENUM",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
]
},
"bhom": {
"name": "severity",
"dataType": "ENUM",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
]
}
},
{
"tmf": {
"name": "sourceSystemId",
"dataType": "STRING"
},
"bhom": {
"name": "source_hostname",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "alarmDetails",
"dataType": "STRING"
},
"bhom": {
"name": "msg",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "alarmRaisedTime",
"dataType": "DATE"
},
"bhom": {
"name": "creation_time",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmClearedTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmChangedTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmReportingTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "ackState",
"dataType": "ENUM",
"values": [
"ACKNOWLEDGED",
"UNACKNOWLEDGED"
]
},
"bhom": {
"name": "status",
"dataType": "ENUM",
"values": [
"ACK",
"OPEN"
]
}
},
{
"tmf": {
"name": "alarmedObject",
"dataType": "OBJECT"
}
},
{
"tmf": {
"name": "affectedService",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "correlatedAlarm",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "parentAlarm",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "crossedThresholdInformation",
"dataType": "OBJECT",
"overrideIfEmpty": true
},
"attributes": [
{
"tmf": {
"name": "thresholdId",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_threshold",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "indicatorName",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_name",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "indicatorUnit",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_unit",
"dataType": "STRING"
}
}
]
},
{
"tmf": {
"name": "comments",
"dataType": "OBJECT_LIST"
},
"bhom": {
"name": "_notes",
"dataType": "STRING_LIST"
},
"attributes": [
{
"tmf": {
"name": "time",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "userId",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "comment",
"dataType": "STRING"
}
}
]
}
]
}
Parameter details
Successful response
Click here to expand...
"attributes": [
{
"tmf": {
"name": "id",
"dataType": "LONG"
},
"bhom": {
"name": "_identifier",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "externalAlarmId",
"dataType": "STRING"
},
"bhom": {
"name": "source_identifier",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "perceivedSeverity",
"dataType": "ENUM",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
]
},
"bhom": {
"name": "severity",
"dataType": "ENUM",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
]
}
},
{
"tmf": {
"name": "sourceSystemId",
"dataType": "STRING"
},
"bhom": {
"name": "source_hostname",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "alarmDetails",
"dataType": "STRING"
},
"bhom": {
"name": "msg",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "alarmRaisedTime",
"dataType": "DATE"
},
"bhom": {
"name": "creation_time",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmClearedTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmChangedTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "alarmReportingTime",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "ackState",
"dataType": "ENUM",
"values": [
"ACKNOWLEDGED",
"UNACKNOWLEDGED"
]
},
"bhom": {
"name": "status",
"dataType": "ENUM",
"values": [
"ACK",
"OPEN"
]
}
},
{
"tmf": {
"name": "alarmedObject",
"dataType": "OBJECT"
}
},
{
"tmf": {
"name": "affectedService",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "correlatedAlarm",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "parentAlarm",
"dataType": "OBJECT_LIST"
}
},
{
"tmf": {
"name": "crossedThresholdInformation",
"dataType": "OBJECT",
"overrideIfEmpty": true
},
"attributes": [
{
"tmf": {
"name": "thresholdId",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_threshold",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "indicatorName",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_name",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "indicatorUnit",
"dataType": "STRING"
},
"bhom": {
"name": "al_parameter_unit",
"dataType": "STRING"
}
}
]
},
{
"tmf": {
"name": "comments",
"dataType": "OBJECT_LIST"
},
"bhom": {
"name": "_notes",
"dataType": "STRING_LIST"
},
"attributes": [
{
"tmf": {
"name": "time",
"dataType": "DATE"
}
},
{
"tmf": {
"name": "userId",
"dataType": "STRING"
}
},
{
"tmf": {
"name": "comment",
"dataType": "STRING"
}
}
]
}
]
}
Unsuccessful responses
Scenario 1: You specify an attribute name that is null or empty.
"code": "400",
"message": "Attribute name can not be null or empty."
}
Scenario 2: You specify an invalid data type for the attribute.
"code": "400",
"message": "Invalid data type \"OBJECT\" for bhom attribute."
}
GET /tmf/mapping
Get TMF Alarm Event Mapping
Use this endpoint to retrieve the mapping between the TMF alarm event attributes and the event attributes.
Authorization: Bearer <JWT_token>
For instructions about obtaining the JWT token, see Access and authentication for the REST API..
Successful response
Click here to expand...
"attributes": [
{
"tmf": {
"name": "id",
"dataType": "LONG",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "_identifier",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "externalAlarmId",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "source_identifier",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "perceivedSeverity",
"dataType": "ENUM",
"default": "",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
],
"overrideIfEmpty": false
},
"bhom": {
"name": "severity",
"dataType": "ENUM",
"default": "",
"values": [
"CRITICAL",
"MAJOR",
"MINOR",
"WARNING"
],
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "sourceSystemId",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "source_hostname",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "alarmDetails",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "msg",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "alarmRaisedTime",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "creation_time",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "alarmClearedTime",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "alarmChangedTime",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "alarmReportingTime",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "ackState",
"dataType": "ENUM",
"default": "",
"values": [
"ACKNOWLEDGED",
"UNACKNOWLEDGED"
],
"overrideIfEmpty": false
},
"bhom": {
"name": "status",
"dataType": "ENUM",
"default": "",
"values": [
"ACK",
"OPEN"
],
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "alarmedObject",
"dataType": "OBJECT",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "affectedService",
"dataType": "OBJECT_LIST",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "correlatedAlarm",
"dataType": "OBJECT_LIST",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "parentAlarm",
"dataType": "OBJECT_LIST",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "crossedThresholdInformation",
"dataType": "OBJECT",
"default": "",
"overrideIfEmpty": true
},
"bhom": null,
"attributes": [
{
"tmf": {
"name": "thresholdId",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "al_parameter_threshold",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "indicatorName",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "al_parameter_name",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
},
{
"tmf": {
"name": "indicatorUnit",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "al_parameter_unit",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"attributes": null
}
]
},
{
"tmf": {
"name": "comments",
"dataType": "OBJECT_LIST",
"default": "",
"overrideIfEmpty": false
},
"bhom": {
"name": "_notes",
"dataType": "STRING_LIST",
"default": "",
"overrideIfEmpty": false
},
"attributes": [
{
"tmf": {
"name": "time",
"dataType": "DATE",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "userId",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
},
{
"tmf": {
"name": "comment",
"dataType": "STRING",
"default": "",
"overrideIfEmpty": false
},
"bhom": null,
"attributes": null
}
]
}
]
}