addAllergyVariables function

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

Implementation

Map<String, dynamic> addAllergyVariables(Map<String, dynamic> payload) {
  final AllergyIntolerance _allergyObject = AllergyIntolerance(
    type: AllergyIntoleranceTypeEnum.allergy,
    category: <AllergyIntoleranceCategoryEnum>[
      AllergyIntoleranceCategoryEnum.medication,
    ],
    criticality: AllergyIntoleranceCriticalityEnum.high,
    clinicalStatus: CodeableConcept(
      text: 'Active',
      coding: <Coding>[
        Coding(
          system:
              'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical',
          code: 'active',
          display: 'Active',
          userSelected: false,
        ),
      ],
    ),
    recordedDate: payload['dateRecorded']?.toString(),
    verificationStatus: CodeableConcept(
      coding: <Coding>[
        Coding(
          system:
              'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification',
          code: 'confirmed',
          display: 'confirmed',
          userSelected: false,
        ),
      ],
      text: payload['substanceConfirmationStatus']?.toString(),
    ),
    patient: Reference(
      display: payload['patientName']?.toString(),
      type: 'Patient',
      reference: payload['patientRef']?.toString(),
    ),
    encounter: Reference(
      reference: payload['encounterRef']?.toString(),
      display: 'Encounter',
      type: 'Encounter',
    ),
    recorder: Reference(display: payload['recordingDoctor']?.toString()),
    asserter: Reference(display: payload['recordingDoctor']?.toString()),
    note: <Annotation>[
      Annotation(
        authorString: payload['recordingDoctor']?.toString(),
        text: payload['description']?.toString(),
      ),
    ],
    reaction: <AllergyIntoleranceReaction>[
      AllergyIntoleranceReaction(
        description: payload['description']?.toString(),
        severity: AllergyIntoleranceReactionSeverityEnum.severe,
        substance: CodeableConcept(
          text: payload['substanceName']?.toString(),
          coding: <Coding>[
            Coding(
              system: 'OCL:/orgs/CIEL/sources/CIEL/',
              code: payload['substanceID']?.toString(),
              display: payload['substanceDisplayName']?.toString(),
              userSelected: true,
            ),
          ],
        ),
        manifestation: <CodeableConcept>[
          CodeableConcept(
            text: 'No manifestation provided',
            coding: <Coding>[
              Coding(
                system: 'OCL:/orgs/CIEL/sources/CIEL/',
                code: 'No manifestation provided',
                display: 'No manifestation provided',
                userSelected: true,
              ),
            ],
          ),
        ],
      ),
    ],
    code: CodeableConcept(
      text: payload['substanceName']?.toString(),
      coding: <Coding>[
        Coding(
          system: 'OCL:/orgs/CIEL/sources/CIEL/',
          code: payload['substanceID']?.toString(),
          display: payload['substanceName']?.toString(),
          userSelected: false,
        ),
      ],
    ),
  );

  final Map<String, dynamic> _input = _allergyObject.toJson();

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