addDiagnosisVariables function

Map<String, dynamic> addDiagnosisVariables({
  1. required String clinicalStatus,
  2. required String dateRecorded,
  3. required String selectedDiagnosis,
  4. required String diagnosisCode,
  5. required String recordingDoctor,
  6. String? doctorNotes,
  7. required String patientReference,
  8. required String encounterReference,
})

Implementation

Map<String, dynamic> addDiagnosisVariables({
  required String clinicalStatus,
  required String dateRecorded,
  required String selectedDiagnosis,
  required String diagnosisCode,
  required String recordingDoctor,
  String? doctorNotes,
  required String patientReference,
  required String encounterReference,
}) {
  final Map<String, dynamic> inputVariables = <String, dynamic>{};

  inputVariables['ClinicalStatus'] = <String, dynamic>{
    'Coding': <dynamic>[
      <String, dynamic>{
        'System': 'http://terminology.hl7.org/CodeSystem/condition-clinical',
        'Code': clinicalStatus,
        'Display': clinicalStatus,
        'UserSelected': false
      }
    ],
    'Text': clinicalStatus
  };

  inputVariables['RecordedDate'] = dateRecorded;

  inputVariables['VerificationStatus'] = <String, dynamic>{
    'Coding': <dynamic>[
      <String, dynamic>{
        'System': 'http://terminology.hl7.org/CodeSystem/condition-ver-status',
        'Code': 'confirmed',
        'Display': 'Confirmed',
        'UserSelected': false
      }
    ],
    'Text': 'Confirmed'
  };

  inputVariables['Category'] = <dynamic>[
    <String, dynamic>{
      'Coding': <dynamic>[
        <String, dynamic>{
          'System': 'http://terminology.hl7.org/CodeSystem/condition-category',
          'Code': 'encounter-diagnosis',
          'Display': 'encounter-diagnosis',
          'UserSelected': false
        }
      ],
      'Text': 'encounter-diagnosis'
    }
  ];

  inputVariables['Code'] = <String, dynamic>{
    'Coding': <dynamic>[
      <String, dynamic>{
        'System': 'OCL:/orgs/CIEL/sources/CIEL/',
        'Code': diagnosisCode,
        'Display': selectedDiagnosis,
        'UserSelected': true
      }
    ],
    'Text': selectedDiagnosis
  };

  inputVariables['Subject'] = <String, dynamic>{
    'Reference': patientReference,
    'Type': 'Patient',
    'Display': patientReference
  };

  inputVariables['Encounter'] = <String, dynamic>{
    'Reference': encounterReference,
    'Type': 'Encounter',
    'Display': 'Encounter'
  };

  inputVariables['Recorder'] = <String, dynamic>{'Display': recordingDoctor};
  inputVariables['Asserter'] = <String, dynamic>{'Display': recordingDoctor};
  inputVariables['Note'] = <dynamic>[
    <String, dynamic>{
      'AuthorString': recordingDoctor,
      'Text': doctorNotes ?? 'No notes provided'
    }
  ];

  return <String, dynamic>{'input': inputVariables};
}