conditionRequest function

Future<Resource?> conditionRequest(
  1. UsCoreRequestType requestType,
  2. Uri base,
  3. String id, {
  4. String? reference,
  5. ConditionCategory? category,
  6. ConditionClinicalStatus? status,
  7. Id? patientId,
  8. FhirDateTime? onsetDate,
  9. CodeableConcept? conditionCode,
  10. bool? getProvenanceResources,
  11. Map<String, String>? headers,
  12. Resource? resource,
  13. Id? vid,
  14. Client? client,
  15. List<String> parameters = const <String>[],
  16. int? count,
  17. Instant? since,
  18. FhirDateTime? at,
})

Implementation

Future<Resource?> conditionRequest(
  UsCoreRequestType requestType,
  Uri base,
  String id, {
  String? reference,
  ConditionCategory? category,
  ConditionClinicalStatus? status,
  Id? patientId,
  FhirDateTime? onsetDate,
  CodeableConcept? conditionCode,
  bool? getProvenanceResources,
  Map<String, String>? headers,
  Resource? resource,
  Id? vid,
  Client? client,
  List<String> parameters = const <String>[],
  int? count,
  Instant? since,
  FhirDateTime? at,
}) async {
  if (category != null &&
      codeableConceptFromConditionCategory[category] != null) {
    final concept = codeableConceptFromConditionCategory[category];
    parameters.add(
        'category=${concept!.coding![0].system}|${concept.coding![0].code}');
  }
  if (status != null &&
      codeableConceptFromConditionClinicalStatus[status] != null) {
    final clinicalStatus = codeableConceptFromConditionClinicalStatus[status];
    parameters.add(
        'clinical-status=${clinicalStatus!.coding![0].system}|${clinicalStatus.coding![0].code}');
  }
  if (patientId != null) {
    parameters.add('patient=$patientId');
  }
  if (onsetDate != null) {
    parameters.add('date=$onsetDate');
  }
  if (conditionCode != null &&
      conditionCode.coding != null &&
      conditionCode.coding!.isNotEmpty &&
      conditionCode.coding![0].system != null &&
      conditionCode.coding![0].code != null) {
    parameters.add(
        'code=${conditionCode.coding![0].system}|${conditionCode.coding![0].code}');
  }
  if (getProvenanceResources ?? false) {
    parameters.add('_revinclude=Provenance:target');
  }
  return await makeRequest(
    requestType,
    base,
    R4ResourceType.Condition,
    id,
    resource: resource,
    headers: headers,
    vid: vid,
    client: client,
    parameters: parameters,
    count: count,
    since: since,
    at: at,
    reference: reference,
  );
}