addSystoleBloodPressureVitalMutationVariables function

Map<String, dynamic> addSystoleBloodPressureVitalMutationVariables(
  1. Map<String, dynamic> payload
)

Implementation

Map<String, dynamic> addSystoleBloodPressureVitalMutationVariables(
    Map<String, dynamic> payload) {
  final Map<String, dynamic> inputVariables = <String, dynamic>{};
  inputVariables['Status'] = 'preliminary';
  inputVariables['Category'] = <dynamic>[
    <String, dynamic>{
      'Text': 'Vital Signs',
      'Coding': <dynamic>[
        <String, dynamic>{
          'Code': 'vital-signs',
          'System':
              'http://terminology.hl7.org/CodeSystem/observation-category',
          'Display': 'Vital Signs',
          'UserSelected': false
        }
      ]
    }
  ];
  inputVariables['Code'] = <String, dynamic>{
    'Text': 'Systolic Blood Pressure',
    'Coding': <dynamic>[
      <String, dynamic>{
        'Display': 'Systolic Blood Pressure',
        'Code': '8480-6',
        'System': 'http://loinc.org',
        'UserSelected': true
      }
    ]
  };
  inputVariables['ValueQuantity'] = <String, dynamic>{
    'Value': double.parse(payload['systole'].toString()),
    'Unit': 'mm[Hg]',
    'System': 'http://unitsofmeasure.org',
    'Code': 'mm[Hg]'
  };
  inputVariables['ReferenceRange'] = <dynamic>[
    <String, dynamic>{
      'Low': <String, dynamic>{
        'Value': 0,
        'Unit': 'mm[Hg]',
        'System': 'http://unitsofmeasure.org',
        'Code': 'mm[Hg]'
      },
      'High': <String, dynamic>{
        'Value': 300,
        'Unit': 'mm[Hg]',
        'System': 'http://unitsofmeasure.org',
        'Code': 'mm[Hg]'
      },
      'Text': '0mm[Hg] to 300mm[Hg]',
      'Type': <String, dynamic>{
        'Text': 'Normal Range',
        'Coding': <dynamic>[
          <String, dynamic>{
            'Code': 'normal',
            'UserSelected': false,
            'System':
                'http://terminology.hl7.org/CodeSystem/referencerange-meaning',
            'Display': 'Normal Range'
          }
        ]
      }
    }
  ];
  inputVariables['Interpretation'] = <dynamic>[
    <String, dynamic>{
      'Text': payload['evaluatedReading'] ?? 'UNKNOWN',
      'Coding': <dynamic>[
        <String, dynamic>{
          'Display': payload['evaluatedReading'] ?? 'UNKNOWN',
          'Code': payload['evaluatedReading'].toString().substring(0, 1),
          'System':
              'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation',
          'UserSelected': false
        }
      ]
    }
  ];
  inputVariables['Issued'] = payload['dateRecorded'];
  inputVariables['EffectiveInstant'] = payload['dateRecorded'];
  inputVariables['Subject'] = <String, dynamic>{
    'Reference': payload['patientRef'],
    'Type': 'Patient',
    'Display': payload['patientName']
  };
  inputVariables['Encounter'] = <String, dynamic>{
    'Reference': payload['encounterRef'],
    'Type': 'Encounter',
    'Display': ''
  };
  return <String, dynamic>{'input': inputVariables};
}